【问题标题】:pandas sparse dataframe head error熊猫稀疏数据帧头错误
【发布时间】:2018-04-28 15:01:30
【问题描述】:

我正在尝试查看使用 get_dummies 创建的稀疏数据帧的头部。

import numpy as np
import pandas as pd

df = pd.read_csv(f_loc, sep = " ")
print df.head()
data = pd.get_dummies(df,sparse=True)
print data.head()

它给了我错误

File "/usr/local/lib/python2.7/dist-packages/pandas/core/internals.py", line 1703, in __init__
    raise TypeError("values must be {0}".format(self._holder.__name__))

【问题讨论】:

  • 我无法模拟,print type(data) 是什么?
  • 它是 , @jezrael
  • 嗯,data[:5] 呢?
  • @jezrael。 [5 行 x 11067 列]
  • 也许问题是你的内存不足,所以会出现奇怪的错误:(

标签: python python-2.7 pandas numpy dummy-variable


【解决方案1】:

在最新版本的 pandas (0.21.0) 中,它运行良好,但一些替代方案应该可以:

np.random.seed(1997)

df = pd.DataFrame(np.random.randn(100, 4))
df.iloc[:-97] = np.nan
data = df.to_sparse()

print (type(data))
<class 'pandas.core.sparse.frame.SparseDataFrame'>

print (data.head())
          0        1         2         3
0       NaN      NaN       NaN       NaN
1       NaN      NaN       NaN       NaN
2       NaN      NaN       NaN       NaN
3  1.938422  1.78731 -0.619745 -2.560187
4 -0.986231 -1.94293  2.677379 -1.813071

print (data.iloc[:5])
          0        1         2         3
0       NaN      NaN       NaN       NaN
1       NaN      NaN       NaN       NaN
2       NaN      NaN       NaN       NaN
3  1.938422  1.78731 -0.619745 -2.560187
4 -0.986231 -1.94293  2.677379 -1.813071

print (data[:5])
          0        1         2         3
0       NaN      NaN       NaN       NaN
1       NaN      NaN       NaN       NaN
2       NaN      NaN       NaN       NaN
3  1.938422  1.78731 -0.619745 -2.560187
4 -0.986231 -1.94293  2.677379 -1.813071

【讨论】:

    猜你喜欢
    • 2012-11-02
    • 2014-05-06
    • 1970-01-01
    • 2021-05-18
    • 2017-01-02
    • 2021-12-14
    • 2020-09-04
    • 1970-01-01
    • 2022-12-17
    相关资源
    最近更新 更多