这是我的df
"33, BUffalo New York"
"44, Charleston North Carolina "
], columns=['row'])
我的意图是用逗号分隔它们,然后用空格或类似的空格
33 Buffalo New York
44 Charleston North Carolina
我的命令如下:
df["row"].str.split("[,\s|\s]", n = 2, expand = True)
0 STD City State
1 33 Buffalo New York
2 44 Charleston North Carolina
答案 0 :(得分:2)
如pandas docs中所述,如果仅删除方括号,则split命令将执行应有的操作。此命令有效:
new_df = df["row"].str.split(",\s|\s", n=2, expand=True)
注意:如果您的城市中有空格,则此操作将失败。如果状态中有空格,它就可以工作,因为n=3
确保产生3列。
您唯一缺少的部分是将第一行设置为标题。按照回答here,您可以使用熊猫的iloc command:
new_df.columns = new_df.iloc[0]
new_df = newdf[1:]
print (new_df)
# 0 STD City State
# 1 33 BUffalo New York
# 2 44 Charleston North Carolina