我有 2 个列表需要放入数据框中。第一个列表有变量名,第二个有值。我正在使用 pandas 来分配列名。如何分配实际值?varnames = ['Student_id','First_Name','Last_Name','Grade']values = [['156841','Mark','Smith','85'], ['785496','Jason','Gross','90'], ['785612','Laura','Clarkson','76'], ['125465','Tria','Carr','100']]data1 = pandas.DataFrame(columns = varnames)print(data1)我试过使用 append 但我收到以下错误:'DataFrame' 对象是可变的,因此它们不能被散列。
2 回答
慕尼黑5688855
TA贡献1848条经验 获得超2个赞
import pandas as pd
varnames = ['Student_id','First_Name','Last_Name','Grade']
values = [['156841','Mark','Smith','85'],
['785496','Jason','Gross','90'],
['785612','Laura','Clarkson','76'],
['125465','Tria','Carr','100']]
data1 = pd.DataFrame(values, columns=varnames)
data1
湖上湖
TA贡献2003条经验 获得超2个赞
您将columns论点pandas.DataFrame与data论点混淆了;医生告诉你这个:
columns参数仅适用于列名列表data参数用于它们的值,可以选择作为带有列名作为键的字典。这就是您要传递的内容:data1 = pandas.DataFrame(data = {'Student_id': ['156841','785496'...], 'First_Name': ['Mark','Jason'...]})
或者在你的情况下:
pd.DataFrame(data=values, columns=varnames) @ as @AndyL noted
你可以用复杂的语法得到同样的东西:
pd.DataFrame(data=dict(zip(varnames, values)))
添加回答
举报
0/150
提交
取消
