我对 Python/panda 比较陌生。这是我的问题:我有一个 df 看起来像这样:
df = pd.DataFrame({
'ZIP Code': ['1234','1234', '5678', '9101'],
'City Name': ['City A', 'City A', 'City B', 'City C'],
'Newspaper': ['City A News', 'City A Newspaper', 'News for City B', 'C News'],
})
正如您所看到的,对于 A 市,有两份报纸,但它们列在不同的两行中。在我真实的 df 中,我有多个城市案例,在单独的行中列出,除了列出的报纸之外,彼此完全相同。
所以我想创建一个看起来像这样的 df :
df_wanted = pd.DataFrame({
'ZIP Code': ['1234', '5678', '9101'],
'City Name': ['City A', 'City B', 'City C'],
'Newspaper': ['City A News, City A Newspaper', 'News for City B', 'C News'],
'Number of Newspapers': [2, 1, 0]
})
所以基本上,我想删除重复的行并将不重复报纸的字符串添加到城市的第一个条目中。
此外,我想创建一个统计报纸数量的列,以便我可以使用这些数字进行进一步分析。
我希望你能帮助我解决我的问题!提前致谢 :)
到目前为止,我还没有找到解决我的问题的方法。
您可以使用名为 agg 的 groupby:
输出: