使用熊猫数据框时出错

Posted

技术标签:

【中文标题】使用熊猫数据框时出错【英文标题】:Error while using pandas dataframe 【发布时间】:2017-09-26 03:56:06 【问题描述】:

我在 anaconda IDE 中使用 pandas 包.....当我尝试加载数据框时,我收到 PandasError: DataFrame constructor not proper called!.... 请帮我解决这个问题。

这是我要执行的代码块:

total_sales_yearly = vg_sales.groupby(['Year']).sum()
drop=["Rank","Platform","Genre","Publisher"]
data=total_sales_yearly.drop(total_sales_yearly[drop],axis=1)
cols=["JP_Sales","Other_Sales"]
time=pd.DataFrame(range(1980,2019,1))
print(time)

这是我得到的错误:

PandasError: DataFrame constructor not properly called!

【问题讨论】:

【参考方案1】:

我认为你需要dict 和列名:

time=pd.DataFrame('col':range(1980,2019,1))
print(time)
     col
0   1980
1   1981
2   1982
3   1983
4   1984
5   1985
6   1986
7   1987
8   1988
9   1989
10  1990
11  1991

或转换为list - 获取默认列名0

time=pd.DataFrame(list(range(1980,2019,1)))
print(time)
       0
0   1980
1   1981
2   1982
3   1983
4   1984
5   1985
6   1986
7   1987
8   1988
9   1989
10  1990
11  1991
12  1992
13  1993
14  1994
15  1995

如果需要行添加[]:

time=pd.DataFrame([range(1980,2019,1)])
print(time)
     0     1     2     3     4     5     6     7     8     9   ...     29  \
0  1980  1981  1982  1983  1984  1985  1986  1987  1988  1989  ...   2009   

     30    31    32    33    34    35    36    37    38  
0  2010  2011  2012  2013  2014  2015  2016  2017  2018  

[1 rows x 39 columns]

编辑:

也可以简化:

data=total_sales_yearly.drop(total_sales_yearly[drop],axis=1)

到:

data=total_sales_yearly.drop(drop,axis=1)

【讨论】:

以上是关于使用熊猫数据框时出错的主要内容,如果未能解决你的问题,请参考以下文章

Scikit-learn 脚本给出的结果与教程大不相同,当我更改数据框时会出错

当列数据类型为列表时如何过滤熊猫数据框

合并熊猫数据框的列时出错

访问熊猫数据框索引时出错

在熊猫中应用```apply()```时出错

对索引熊猫系列进行排序时出错