【发布时间】:2021-05-29 11:30:18
【问题描述】:
我有一个如下的熊猫数据框:
data = {
'user_id': [1, 1, 1, 1, 1, 2],
'tag_id': [700, 700, 700, 701, 701, 700],
'score': [1, 0.9, 0.8, 0.7, 1, 0.6]
}
df = pd.DataFrame(data)
>>> df
user_id tag_id score
0 1 700 1.0
1 1 700 0.9
2 1 700 0.8
3 1 701 0.7
4 1 701 1.0
5 2 700 0.6
然后我在我的 DataFrame 上应用了一个groupby 操作,如下所示,它基本上将一组分数相加,但它不会删除索引:
df = df.groupby(['user_id', 'tag_id'], as_index=False).sum().reset_index(drop=True)
>>> df
user_id tag_id score
0 1 700 2.7
1 1 701 1.7
2 2 700 0.6
我也尝试删除as_index参数,但它删除了其他列,仍然没有删除索引:
df = df.groupby(['user_id', 'tag_id']).sum().reset_index(drop=True)
>>> df
score
0 2.7
1 1.7
2 0.6
关于如何删除这些索引有什么想法吗?
【问题讨论】:
-
它按预期正常工作
-
你总会有一个带有 pandas Dataframe 的索引,它不完全像一个 numpy 数组。
-
感谢您提供了一个很好的可重现 pandas 示例。
-
Pandas 将始终显示索引和列。如果没有设置索引,它将使用默认索引 (
pd.RangeIndex)。如果您不想要这种行为,请定义您自己的索引:df.set_index('user_id') -
df.to_sql(index=False)
标签: python python-3.x pandas dataframe pandas-groupby