【问题标题】:python - how do i assign columns to my dataframe?python - 如何将列分配给我的数据框?
【发布时间】:2020-01-23 19:46:30
【问题描述】:

我有 2 个列表需要放入数据框中。第一个列表有变量名,第二个有值。我正在使用熊猫来分配列名。我该如何分配实际值?

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”对象是可变的,因此它们不能被散列。

【问题讨论】:

  • pd.DataFrame(values, columns=varnames)
  • 如果您在浏览器中搜索“PANDAS 创建列”,您会找到比我们在此处管理的更能解释这一点的参考资料。

标签: python pandas dataframe


【解决方案1】:
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

【讨论】:

    【解决方案2】:

    您将pandas.DataFrame 中的columns 参数与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)))
    

    【讨论】:

      猜你喜欢
      • 2016-05-20
      • 1970-01-01
      • 2013-11-15
      • 1970-01-01
      • 2021-12-04
      • 1970-01-01
      • 2018-02-23
      • 2015-02-09
      • 1970-01-01
      相关资源
      最近更新 更多