计算特定列中的重复项

2024-03-29 10:17:54 发布

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

惠。我是Python的新用户。我需要做一些脚本,将提取特定的.txt文件的数据。文件中的数据是:

Milo    12345678901234  DN127   POTATO_123_456  
Milo    12345678901234  DN127   POTATO_123_456
Lamb    12345678901307  DN127   TOMATO_123_456
Lamb    12345678901618  DN127   TOMATO_123_456
Lamb    12345678901953  DN127   TOMATO_123_456
Milo    12345678902213  DN127   CHILI_789_0126  
Milo    12345678902822  DN127   BANANA_134-123  

脚本将要做的是,它将只显示包含单词“Milo”的行,并在第4列(第3列)中计算重复项。我设法用单词“Milo”来显示行,但不知道如何计算第8列中的重复单词

with open ("food.txt") as food:
                for line in food:
                    if line.find("\tMilo")!=-1:
                        print(line)

Tags: 文件数据用户txt脚本foodline单词
1条回答
网友
1楼 · 发布于 2024-03-29 10:17:54

使用熊猫:

df = pandas.read_csv('food.txt', sep = " ", header = None)
df.columns = ['Product', 'ID', 'Another ID', 'Some Code']

df = df[df['Product'].isin(['Milo'])]
df['Count of Repetitive Some Code'] = df.groupby('Some Code')['Some Code'].transform('count')

图例:

Product是带有Milo, etc的列

ID是带有12345678901234, etc的列

Another ID是带有DN127, etc的列

Some Code是您的列,其中POTATO_123_456, etc==>;你想数的那个

相关问题 更多 >