Python 将新行添加到我的现有数据帧时出错

Python 将新行添加到我的现有数据帧时出错,python,pandas,dataframe,data-analysis,Python,Pandas,Dataframe,Data Analysis,我有下面的数据框 df3=pd.DataFrame(columns=["Devices","months"]) 我从循环中获取行值 一行 打印(数据) 当我将此数据行添加到df3时,我得到一个错误 df3.loc[len(df3)]=data ValueError:无法设置列不匹配的行 使用 或者按照@Wen use的建议 df3 = df3.append(data) 发件人: 但是,值得注意的是,concat(以及因此而产生的append)生成了数据的完整副本,并且不断地重用此函数会

我有下面的数据框

df3=pd.DataFrame(columns=["Devices","months"])
我从循环中获取行值 一行 打印(数据)

当我将此数据行添加到df3时,我得到一个错误

  df3.loc[len(df3)]=data
ValueError:无法设置列不匹配的行

使用

或者按照@Wen use的建议

df3 = df3.append(data)
发件人:

但是,值得注意的是,concat(以及因此而产生的append)生成了数据的完整副本,并且不断地重用此函数会对性能造成重大影响。如果需要对多个数据集使用该操作,请使用列表

您应该使用loc,就像您尝试使用的那样,并使用字典,其中键是列名,值是要添加的行的数据

import pandas as pd

df3 = pd.DataFrame(columns=["Devices","months"])
new_entry = {'Devices': 'device1', 'months': 'month1'}

df3.loc[len(df3)] = new_entry

如果有人想添加字典格式的新行,下面将提供帮助

  • 现有数据帧
  • 下面的代码段将另一行添加到现有数据框中

希望这会有所帮助。

因为错误提示插入数据框的数据的列数必须与数据框的列数匹配

>>> df3=pd.DataFrame(columns=["Devices","months"])
>>> df3.loc[len(df3)] = ['Powerbank','Feb']
>>> df3
     Devices months
0  Powerbank    Feb
>>> data = ['powerbank','feb']
>>> df3.loc[len(df3)] = data
>>> df3
     Devices months
0  Powerbank    Feb
1  powerbank    feb

尝试使用
append
可能重复的
axis=0
是默认值,可以忽略。如果不使用
ignore\u索引
,则可能会出现错误
df3=df3.append(data,ignore_index=True)
如何使用上述技术将数据帧追加到现有数据帧?
import pandas as pd

df3 = pd.DataFrame(columns=["Devices","months"])
new_entry = {'Devices': 'device1', 'months': 'month1'}

df3.loc[len(df3)] = new_entry
In [6]: df
Out[6]: 
     Devices     months
0  Powerbank  Feb month

In [7]:
In [7]: dictionary_row = {"Devices":"Laptop","months":"Mar month"}

In [8]: df = df.append(dictionary_row, ignore_index=True)

In [9]: df
Out[9]: 
     Devices     months
0  Powerbank  Feb month
1     Laptop  Mar month

In [10]:
>>> df3=pd.DataFrame(columns=["Devices","months"])
>>> df3.loc[len(df3)] = ['Powerbank','Feb']
>>> df3
     Devices months
0  Powerbank    Feb
>>> data = ['powerbank','feb']
>>> df3.loc[len(df3)] = data
>>> df3
     Devices months
0  Powerbank    Feb
1  powerbank    feb