python - Pandas 将数据框列单元格初始化为空列表

标签 python python-3.x pandas dataframe series

我需要将 DataFrame 的列中的单元格初始化为 lists

df['some_col'] = [[] for _ in no_of_rows]

我想知道在时间效率方面是否有更好的方法来做到这一点?

最佳答案

由于您正在寻找时间效率,因此低于一些基准。我认为 list 理解已经相当快地创建 list 对象的空 list ,但是你可以使用 挤出边际改进itertools.repeat。在 insert 部分,apply 慢了 3 倍,因为它循环:

import pandas as pd
from itertools import repeat
df = pd.DataFrame({"A":np.arange(100000)})

%timeit df['some_col'] = [[] for _ in range(len(df))]
100 loops, best of 3: 8.75 ms per loop

%timeit df['some_col'] = [[] for i in repeat(None, len(df))]
100 loops, best of 3: 8.02 ms per loop

%%timeit 
df['some_col'] = ''
df['some_col'] = df['some_col'].apply(list)
10 loops, best of 3: 25 ms per loop

关于python - Pandas 将数据框列单元格初始化为空列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37415118/

相关文章:

python - Pandas,字典列表,其中值是列表。将字典键转换为列名。将值列表中的每个元素转换为一行

python - 检查Python中连续相等元素的数量

python-3.x - 在 Matplotlib 的插图中使用 twiny()

python - 如何迭代 pandas 中的列标题

python - 处理空数据时如何知道是否删除列或行?

python - 从今天到给定日期还有多少天

python - __getitem__ 或方括号用于递归数据结构

python - 从文件中删除停用词

python - 使用 boolean 值的 If 语句的语法

Python替换csv文件中的字符串