繁体   English   中英

通过分隔符拆分列中的值并将值分配给 Pandas dataframe 中的多个列

[英]Split values in a column by delimiter and assign value to multiple columns in Pandas dataframe

我的数据框有以下列:

  • 地点名称
  • 城市
  • state
  • 国家

我想拆分 location_name 列中的值并将其保存到各个城市 state 国家列中。

location_name 列中的值如下所示:

location_name 
111 Washington Ave, Ellenville, NY 12428, United States
Tamil Nadu, India
Lynchburg, VA, United States
Peachtree Street, Atlanta, GA, United States
Nigeria

如您所见,它们都不是包含街道地址、城市、state 和国家/地区的完整收件人。 最后一个值将始终是国家名称,并且始终可用。 其他所有内容 state、城市和街道地址都是可选的,因此元素的数量可以更改。

df[['city','state', 'country']] = df['location_name'].str.split(',', expand=True)

但上述方法不考虑缺少 state、城市和街道地址值,因此不会更新每列中的正确值。 我最终的 output dataframe 应该如下所示:

在此处输入图像描述

我该怎么做?

你不能这样做,因为没有什么可以区分 state 和城市字符串。 城市“纽约”和 state“泰米尔纳德邦”在算法上没有明显区别。 两者都有两个单词,并且两个单词都以大写字符开头。

所需列中也没有标准字符串特征。 'VA' 只是大写字母,这可能是 state 的特征,但我们又遇到了 'Tamil Nadu',这违反了这个大写假设。

如果您有一本包含所有城市和/或州的字典,我会看到您这样做的唯一方法。 然后您可以查找某些值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM