如何将值添加到熊猫数据框中的新列?

bar*_*icz 2 python dataframe pandas

我想在 Pandas 数据框中创建一个新的命名列,将第一个值插入其中,然后向同一列添加另一个值:

就像是:

import pandas

df = pandas.DataFrame()
df['New column'].append('a')
df['New column'].append('b')
df['New column'].append('c')

etc.
Run Code Online (Sandbox Code Playgroud)

我怎么做?

jez*_*ael 7

不要这样做,因为它很慢

  1. 一次更新一个空帧。我见过这种方法用得太多了。这是迄今为止最慢的。这可能很常见(对于某些 python 结构来说相当快),但是 DataFrame 对索引进行了大量检查,因此一次更新一行总是非常慢。更好地创建新的结构和连接。

最好创建一个数据列表并由DataFrame构造函数创建:

vals = ['a','b','c']

df = pandas.DataFrame({'New column':vals})
Run Code Online (Sandbox Code Playgroud)


小智 5

如果我理解正确,您想将值附加到 Pandas 数据框中的现有列,那么问题是对于 DF,您需要保持类似矩阵的形状,因此每列的行数相等,您可以做的是添加一列一个默认值,然后用

for index, row in df.iterrows(): df.at[index, 'new_column'] = new_value