【发布时间】:2023-02-17 16:24:21
【问题描述】:
我有一个pandas.DataFrame(名为df),其中包含以下数据:
labels texts
0 labelA Some Text 12345678
1 labelA Some Text 12345678
2 labelA Some Text 12345678
3 labelA Some Text 12345678
4 labelB Some Text 12345678
5 labelB Some Text 12345678
6 labelB Some Text 12345678
7 labelC Some Text 12345678
8 labelC Some Text 12345678
9 labelC Some Text 12345678
10 labelC Some Text 12345678
11 labelC Some Text 12345678
12 labelC Some Text 12345678
当我使用以下命令执行分组时(目标是从每个标签中获取 2 个样本),索引丢失了:
grouped = df.groupby('labels')
result = grouped.apply(lambda x: x.sample(n=2))
print(result)
输出变为:
labels texts
labels
labelA 0 labelA Some Text 12345678
0 labelA Some Text 12345678
0 labelB Some Text 12345678
0 labelB Some Text 12345678
0 labelC Some Text 12345678
0 labelC Some Text 12345678
我希望输出变成:
labels texts
0 labelA Some Text 12345678
1 labelA Some Text 12345678
2 labelB Some Text 12345678
3 labelB Some Text 12345678
4 labelC Some Text 12345678
5 labelC Some Text 12345678
我应该如何进行更改?
我尝试根据this answer使用result.dropout(0).reset_index(),但它变成了:
index labels texts
0 0 labelA Some Text 12345678
1 0 labelA Some Text 12345678
2 0 labelB Some Text 12345678
3 0 labelB Some Text 12345678
4 0 labelC Some Text 12345678
5 0 labelC Some Text 12345678
【问题讨论】: