我有一个只有一列的pandas DataFrame,例如:
df = pd.DataFrame({"combined_list": [["Netherlands|NL", "Germany|DE", "United_States|US", "Poland|PL"], ["Netherlands|NL", "Austria|AU", "Belgium|BE"], ["United_States|US", "Germany|DE"]]})
我想从combined_list
列创建两列:
- 一个包含所有常规国家名称(即最后一次出现
|
之前的所有内容) - 一个包含所有2个字母缩写(其长度始终为2),即基本上是最后一次出现
|
之后的所有剩余文本。
生成的数据框应如下所示:
countries abbreviations
[Netherlands, Germany, United_States, Poland] [NL, DE, US, PL]
[Netherlands, Austria, Belgium] [NL, AU, BE]
[United_States, Germany] [US, DE]
如何实现这个?
我知道如果Dataframe的列只是一个字符串,我可以使用各种字符串分隔函数来实现它,但对于列表类型的列找不到任何方法。
agg(list)
是打字错误吗? - Mustafa Aydın