我有一个像这样的pandas Dataframe:
year week city avg_rank
0 2016 52 Paris 1
1 2016 52 Gif-sur-Yvette 2
2 2016 52 Paris 1
3 2017 1 Paris 4
4 2016 52 Paris 3
5 2016 52 Paris 5
6 2016 52 Paris 2
Run Code Online (Sandbox Code Playgroud)
但是这个代码行:
df['real_index']=df.groupby(by=['year', 'week', 'city']).avg_rank.rank(method='first')
Run Code Online (Sandbox Code Playgroud)
生成堆栈跟踪:
/usr/local/lib/python2.7/dist-packages/pandas/core/groupby.pyc in rank(self, axis, method, numeric_only, na_option, ascending, pct)
/usr/local/lib/python2.7/dist-packages/pandas/core/groupby.pyc in wrapper(*args, **kwargs)
590 *args, **kwargs)
591 except(AttributeError):
592 raise ValueError
593
594 return wrapper
ValueError:
Run Code Online (Sandbox Code Playgroud)
我NaN在DataFrame的那些列中没有任何价值.
我使用的python2.7一起pandas 0.18.1和numpy 1.11.0.
我的DataFrame的形状由大约9.000.000行和15列组成.
更有趣的是,当我在我的DataFrame的所有子集中执行此代码行时(对于1.000.000行的每个子集),我不会提出任何代码行ValueError.
这是一个已知的行为,pandas不能管理相当大的DataFrame或我错过了什么?
欢迎任何帮助!
由于我的DataFrame来自几个文件,我注意到一些索引是重复的.
同
df.index = np.arange(df.shape[0])
Run Code Online (Sandbox Code Playgroud)
加载数据后,它现在可以正常工作.
实际上,我的假设是,在组中的某些组中,有时行具有相同的索引.
当我尝试使用我的DataFrame的子集时,这个案例幸运/不幸的是从未发生过.
但是,错误消息并非非常详尽.
| 归档时间: |
|
| 查看次数: |
1515 次 |
| 最近记录: |