Pandas:从value_counts循环数据帧

2024-09-29 19:19:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我试着在pandas创建的一个数据帧中循环,寻找在该帧中只出现一次的每个值。到目前为止,我的代码如下:

import pandas as pd
df = pd.read_csv('xyz.csv')
saved_column = df['S07'][df['Class'].isin(['GTD'])].round(decimals=1).value_counts()

我如何在这个数据帧中循环,检测只出现一次的所有值,并最终从csv文件中删除它们?在

提前非常感谢您的帮助!在

例如: (在csv文件中输入数据)

^{pr2}$

我希望代码删除GTD-1.82的行,因为它的舍入值(1.8)在数据集中只出现一次。在

示例数据集: https://1drv.ms/u/s!AvuwPSn7axNcePUsJD8kMB1FnlE


Tags: 文件csv数据代码importpandasdfread
1条回答
网友
1楼 · 发布于 2024-09-29 19:19:05

您可以使用duplicated()方法:

In [86]: df
Out[86]:
  Class   S07
0   AAA  1.10
1   AAA  1.11
2   GTD  2.23
3   GTD  2.21
4   GTD  1.82
5   GTD  2.26

In [87]: x = df.loc[df.Class.isin(['GTD']), 'S07'].round(1).duplicated(keep=False)

In [88]: df.loc[df.index[x.index][x]]
Out[88]:
  Class   S07
2   GTD  2.23
3   GTD  2.21

现在您可以将结果保存到新的CSV文件中:

^{pr2}$

相关问题 更多 >

    热门问题