为了账号安全,请及时绑定邮箱和手机立即绑定

python - 如何将列分配给我的数据框?

python - 如何将列分配给我的数据框?

POPMUISE 2022-06-02 18:03:24
我有 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


查看完整回答
反对 回复 2022-06-02
?
湖上湖

TA贡献2003条经验 获得超2个赞

您将columns论点pandas.DataFramedata论点混淆了;医生告诉你这个:

  • 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)))


查看完整回答
反对 回复 2022-06-02
  • 2 回答
  • 0 关注
  • 187 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号