数据帧将行拆分为新列 - X,Y坐标和文本

时间:2018-03-16 15:04:01

标签: python pandas dataframe text

我的文本已经在Dataframe中,通常如下所示:

Column
100,    1594, text & or numbers $124,345.56
108,    1805, _ _ _
254,    2000, (13,452,863)

第一个数字系列之间有4个空格,第二个数字是X,Y坐标,然后是文本。我如何将它变成这样的新数据框:

  Y       X   Text
100    1594   text & or numbers $124,345.56
108    1805   _ _ _
254    2000   (13,452,863)

1 个答案:

答案 0 :(得分:1)

这是一个解决方案,给定您提供的输入数据。

import pandas as pd

df = pd.DataFrame({'Column': ['100,    1594, text & or numbers $124,345.56',
                              '108,    1805, _ _ _',
                              '254,    2000, (13,452,863)']})

df_out = pd.DataFrame(df['Column'].str.split(', ').values.tolist(),
                      columns=['Y', 'X', 'Text'])

df_out[['Y', 'X']] = df_out[['Y', 'X']].apply(pd.to_numeric, downcast='integer')

#      Y     X                           Text
# 0  100  1594  text & or numbers $124,345.56
# 1  108  1805                          _ _ _
# 2  254  2000                   (13,452,863)