我正在尝试将数据行添加到pandas DataFrame,但它会为每个数据段单独添加一行。我觉得我缺少一些非常简单明显的东西,但是我不知道它是什么。
import pandas
colNames = ["ID", "Name", "Gender", "Height", "Weight"]
df1 = pandas.DataFrame(columns = colNames)
df1.set_index("ID", inplace=True, drop=False)
i = df1.shape[0]
person = [{"ID":i},{"Name":"Jack"},{"Gender":"Male"},{"Height":177},{"Weight":75}]
df1 = df1.append(pandas.DataFrame(person, columns=colNames))
print(df1)
输出:
ID Name Gender Height Weight
0 0.0 NaN NaN NaN NaN
1 NaN Jack NaN NaN NaN
2 NaN NaN Male NaN NaN
3 NaN NaN NaN 177.0 NaN
4 NaN NaN NaN NaN 75.0
您使用了太多弯曲的括号。您的所有数据都应放在一对弯曲的括号内。这将创建一个python字典。将该行更改为:
person = [{"ID":i,"Name":"Jack","Gender":"Male","Height":177,"Weight":75}]