使用大熊猫用逗号分隔,后跟空格或仅空格

时间:2020-05-05 18:14:17

标签: python pandas

这是我的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

1 个答案:

答案 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
相关问题