python—如何将列分配给数据帧?
我有两个列表需要放入数据框中。第一个列表有变量名,第二个列表有值。我正在使用熊猫来指定列名。如何分配实际值python—如何将列分配给数据帧?,python,pandas,dataframe,Python,Pandas,Dataframe,我有两个列表需要放入数据框中。第一个列表有变量名,第二个列表有值。我正在使用熊猫来指定列名。如何分配实际值 varnames = ['Student_id','First_Name','Last_Name','Grade'] values = [['156841','Mark','Smith','85'], ['785496','Jason','Gross','90'], ['785612','Laura','Clarkson','76'],
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”对象是可变的,因此无法对其进行哈希运算。您将中的columns参数与data参数混淆;医生告诉你:
columns参数仅用于列名列表
数据参数用于它们的值,可以选择作为dict,也可以将列名作为键。这就是你想要传递的信息:
data1=pandas.DataFramedata={'Student_id':['156841','785496'…],'First_Name':['Mark','Jason'…]}
或者在您的情况下:
pd.DataFrame(data=values, columns=varnames) @ as @AndyL noted
使用复杂的语法也可以得到同样的结果:
pd.DataFrame(data=dict(zip(varnames, values)))
pd.DataFramevalues,columns=varnames如果您在浏览器中搜索PANDAS create column,您将发现可以更好地解释这一点的引用,这比我们在这里所能管理的要好得多。
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