我有这样的df
,我想要这样的输出:
有53k行,并且有很多类似的行,如何过滤它们并重新组织它们?
答案 0 :(得分:1)
尝试:
import pandas as pd
df = pd.DataFrame({'Animal': ['Falcon', 'Falcon',
'Parrot', 'Parrot'],
'Max Speed': [380., 370., 24., 26.]})
df.index = df.Animal #updating the index for illustration purposes
df.groupby(df.index).agg(sum)
但是,这不会解决命名差异。就像您的耐克之一是大写字母,另一个是小写字母一样。您可以通过将所有内容转换为小写然后进行聚合来解决。您可以为此添加一个额外的步骤,
df.index = df.index.str.lower()
答案 1 :(得分:0)
尝试使用df数据框:
df.columns = ['num', 'brand']
df.groupby('num').filter(lambda g: len(g) > 1).drop_duplicates(subset=['num'],keep="first")