如何在Pandas数据框的新列中添加值?

时间:2018-07-24 13:05:00

标签: python pandas dataframe

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

类似的东西:

import pandas

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

etc.

我该怎么做?

3 个答案:

答案 0 :(得分:1)

不要这样做,because slow

  

6)一次更新一个空行。我已经看到这种方法使用WAY过多。这是迄今为止最慢的。它可能很普通(对于某些python结构来说相当快),但是DataFrame对索引进行了大量检查,因此每次更新一行总是很慢。创建新的结构和连接要好得多。

更好的方法是创建数据列表,并由构造函数创建DataFrame

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

df = pandas.DataFrame({'New column':vals})

答案 1 :(得分:1)

如果我理解正确,您想将值附加到pandas数据框中的现有列,那就是使用DF时,您需要保持矩阵状的形状,因此每列的行数相等,您可以添加具有默认值的列,然后使用

更新此值

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

答案 2 :(得分:0)

如果您需要向新创建的列添加随机值,您也可以使用

df['new_column']= np.random.randint(1, 9, len(df))