Python 2.7 如何在Python中将数据帧中的列值解压为列名
我有一个如下的数据框Python 2.7 如何在Python中将数据帧中的列值解压为列名,python-2.7,dataframe,Python 2.7,Dataframe,我有一个如下的数据框 Name Place Age Joe [NYC, Paris, Madrid] 33 Mary [Rome] 30 Jack [Paris, Madrid] 35 我希望数据帧中的输出为 Name NYC Paris Madrid Rome Age Joe Yes Yes Yes No 33 Mary No No No Yes 30 Jack No Ye
Name Place Age
Joe [NYC, Paris, Madrid] 33
Mary [Rome] 30
Jack [Paris, Madrid] 35
我希望数据帧中的输出为
Name NYC Paris Madrid Rome Age
Joe Yes Yes Yes No 33
Mary No No No Yes 30
Jack No Yes Yes No 35
我试着用各种方法来做这件事,比如
cities = ['NYC', 'Rome', 'Madrid', 'Paris']
for city in cities:
df_city = df.apply(lambda x: x in city if x==x else False)
df[city]=df_city //Creating a column name based on the city. But this gives an error stating array size doesn’t match
我还尝试了以下方法
if(city=='NYC'):
df[city].append("True")
elif(city=='Paris'):
df[city].append("True")
elif(city=='Madrid'):
df[city].append("True")
else(city=='Rome'):
df[city].append("True")
但这只会让我
Name NYC Paris Madrid Rome Age
Joe No Yes No No 33
Mary No No No No 30
Jack No Yes No No 35
提前感谢试试这个,这是操作的步骤
输出
Name age NYC Paris Madrid Rome
0 Joe 33 Yes Yes Yes No
1 Mary 30 No No No Yes
2 Jack 35 No Yes Yes No
谢谢!这很有效。你有关于用户定义函数fill到底在做什么的文档/解释吗?@user3423407我已经添加了解释
Name age NYC Paris Madrid Rome
0 Joe 33 Yes Yes Yes No
1 Mary 30 No No No Yes
2 Jack 35 No Yes Yes No