我有以下代码...由于某种原因,导致'key'列消失.我还注意到其他时候关键列似乎"随机"消失了.我试图隔离案件,这是一个.
我使用的是熊猫版本0.20.1
DF = pd.DataFrame([['a', 1], ['b', 2], ['b', 3]], columns = ['G', 'N'])
groupByObj = DF.groupby('G')
print groupByObj.get_group('b')
groupByObj.sum()
print groupByObj.get_group('b')
Run Code Online (Sandbox Code Playgroud)
第一个print groupByObj.get_group('b')结果是:
G N
1 b 2
2 b 3
Run Code Online (Sandbox Code Playgroud)
第二个print groupByObj.get_group('b')结果是:
N
1 2
2 3
Run Code Online (Sandbox Code Playgroud)
为什么"键"列('G')在运行后会消失 groupByObj.sum()
这是 Pandas 中的一个错误,讨论如下:
后者仍然开放。
通过阅读 GitHub 上的内容以及评论中提到的,似乎第二个输出是想要的行为,并且在本sum例中通过添加以下行来获得pandas.core.groupby._GroupBy#_set_group_selection:
self._reset_cache('_selected_obj')
Run Code Online (Sandbox Code Playgroud)
由于此重置在调用sum(以及其他一些函数)时发生,因此该 G 列在第一次get_group调用时仍然可见。mean顺便说一句 - 调用以及其他一些函数时也不会执行重置。看来这个bug比想象的要全面一点,并不是通过简单的缓存重置就能解决的。
| 归档时间: |
|
| 查看次数: |
280 次 |
| 最近记录: |