小编Nay*_*ale的帖子

如何仅内爆(爆炸的反向)pandas 中的非空值。使用 pandas group by 将多行合并为单行

我正在研究 Python Pandas。

我有一个 pandas 数据框,其中包含如下列:

ID 城市
1 纽约
1
1 亚特兰大
2 东京
2 京都
2
3 巴黎
3 波尔多
3
4 孟买
4
4 班加罗尔
5 伦敦
5
5 伯明翰

请注意,列中的空单元格要么是空字符串 (''),要么是 Nan 或 None。(为简单起见,我们只说它们是空字符串(''))。

我希望结果是这样的:

ID 城市
1 纽约、亚特兰大
2 东京、京都
3 巴黎、波尔多
4 孟买、班加罗尔
5 伦敦、伯明翰

简而言之,我想按 ID 分组,然后获取列表(通过删除空字符串)。

我有一个示例代码,但它实际上给了我带有空字符串的结果,我想删除空字符串。

dataFrame.groupby(['ID'], as_index=False)
                  .agg({'Cities': lambda x: x.tolist()})
Run Code Online (Sandbox Code Playgroud)

它给了我这样的结果:

ID 城市
1 纽约、亚特兰大
2 东京、京都、
3 巴黎、波尔多、
4 孟买、班加罗尔
5 伦敦、伯明翰

但我不想要空字符串...... …

python aggregate-functions dataframe pandas pandas-groupby

3
推荐指数
1
解决办法
2515
查看次数

对 Pandas 数据帧执行拆分并创建一个新帧

我有一个像这样一列的熊猫数据框:

合并_城市
纽约、威斯康星、亚特兰大
东京、京都、铃木
巴黎、波尔多、里昂
孟买、德里、班加罗尔
伦敦、曼彻斯特、伯明翰

我想要一个新的数据框,输出如下:

合并_城市 城市
纽约、威斯康星、亚特兰大 纽约
纽约、威斯康星、亚特兰大 威斯康星州
纽约、威斯康星、亚特兰大 亚特兰大
东京、京都、铃木 东京
东京、京都、铃木 京都
东京、京都、铃木 铃木
巴黎、波尔多、里昂 巴黎
巴黎、波尔多、里昂 波尔多
巴黎、波尔多、里昂 里昂
孟买、德里、班加罗尔 孟买
孟买、德里、班加罗尔 德里
孟买、德里、班加罗尔 班加罗尔
伦敦、曼彻斯特、伯明翰 伦敦
伦敦、曼彻斯特、伯明翰 曼彻斯特
伦敦、曼彻斯特、伯明翰 伯明翰

简而言之,我想将所有城市拆分为不同的行,同时保留“Merged_Cities”列。

这是一个可复制的版本df

df = pd.DataFrame({'Merged_Cities':['New York, Wisconsin, Atlanta',
                                    'Tokyo, Kyoto, Suzuki',
                                    'Paris, Bordeaux, Lyon',
                                    'Mumbai, Delhi, Bangalore',
                                    'London, Manchester, Bermingham']})
Run Code Online (Sandbox Code Playgroud)

python expand split dataframe pandas

2
推荐指数
1
解决办法
58
查看次数