计算列中相同元素的编号,如果编号为sm,则删除

2024-05-14 23:33:32 发布

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

我有两个问题

第一个是计数,第二个是擦除

我的数据集如下所示

X = pd.read_table(dstore, sep=',', warn_bad_lines=True, error_bad_lines=True)
X.sort(['Chain_key'], ascending=[True], inplace=True)


       IRI_KEY  OU    EST_ACV       Market_Name  Open  Clsd  Chain_key
230    229030  GR   6.619999    SEATTLE/TACOMA  1123  9998          1
264    231588  GR   5.286999    SEATTLE/TACOMA   960  9998          1
291    233708  GR   5.556000    SEATTLE/TACOMA   607  9998          1 
1083   288392  GR   5.556000    SEATTLE/TACOMA   902  1400          1
167    223660  GR   5.825996    SEATTLE/TACOMA  1123  9998          1
1128   292476  GR  12.683000       LOS ANGELES  1048  9998          2
451    243939  GR  15.306000  WEST TEX/NEW MEX  1196  9998          2
980    281109  GR  15.800990       PORTLAND,OR   435  9998          2
945    278738  GR   9.685997       LOS ANGELES   435  9998          2
1473   656089  GR  14.738000       PHOENIX, AZ  1192  9998          2
1329   648019  GR  13.397990       PHOENIX, AZ   902  9998          3
999    283190  GR  19.213990        SACRAMENTO  1059  1450          3
207    227169  GR  18.780990  WEST TEX/NEW MEX  1075  9998          3
1026   285252  GR  31.476000  WEST TEX/NEW MEX   659  9998          4
1231   535552  GR  22.150990           SPOKANE  1145  9998          4
455    244163  GR  19.213990       PORTLAND,OR   435  1424          4
328    236100  GR  19.120000  WEST TEX/NEW MEX   493  9998          5
1228   535326  GR  15.429990       PHOENIX, AZ  1190  9998          6
436    242841  GR  20.472990       PORTLAND,OR  1285  9998          6

然后我要像这样计算Chain\u key列中相同元素的个数

1:5分 2: 5 3: 3 4: 3 5: 1 ... 你知道吗

以及

如果他们的chain\u键有少量相同的元素,如何删除该行 例如,擦除小于2,则在上述情况下,应擦除链键5 因为他们只有1(5:1)

我试过分组或其他一些事情,但还没赶上。。你知道吗


Tags: orkeytruechainnewaztexbad
1条回答
网友
1楼 · 发布于 2024-05-14 23:33:32

我想你在找尺码:

In [11]: df.groupby('Chain_key').size()
Out[11]:
Chain_key
1            5
2            5
3            3
4            3
5            1
6            2
dtype: int64

要删除组中少于2的行,请使用筛选器:

In [12]: df.groupby('Chain_key').filter(lambda x: len(x) >= 2)

相关问题 更多 >

    热门问题