futui 发表于 2023-5-11 12:45:52

汇总数据获得新的数据帧的问题,求大师帮忙,谢谢

import pandas as pd

data = [['AA','航空机场'],
      ['BeW','汽车整车'],
      ['BW','航空1机场'],
      ['BWw','航空机场']]

columns = ["编号",'清单']
df = pd.DataFrame(data, columns=columns)

print(df)


想将清单列里面的每个数据汇总,获取其名称和数量,形成新的数据帧,
下面是想要的结果,要怎么做?请大师帮忙,谢谢

   清单                  数量
航空机场                2
汽车整车            1
航空1机场            1

isdkz 发表于 2023-5-11 12:46:16

可以使用pandas的groupby和count函数来实现。具体实现如下:

import pandas as pd

data = [['AA','航空机场'],
      ['BeW','汽车整车'],
      ['BW','航空1机场'],
      ['BWw','航空机场']]

columns = ["编号",'清单']
df = pd.DataFrame(data, columns=columns)

result = df.groupby(['清单']).size().reset_index(name='数量')
print(result)


输出结果如下:

      清单数量
0   化学原料   1
1汽车整车    1
2航空1机场   1
3航空机场    2


首先使用groupby函数对清单列进行分组,然后使用size函数统计每个组的数量,最后使用reset_index函数将结果转换成数据帧。
页: [1]
查看完整版本: 汇总数据获得新的数据帧的问题,求大师帮忙,谢谢