如何转换此dataframe

Coordinate (X, Y) value
(46.8637, 2.3134) 001
(42.8637, 2.5134) 002

因此:

X Y value
46.8637 2.3134 001
42.8637 2.5134 002

当我尝试此方法时:

col_list = ['X', 'Y']
for n,col in enumerate(col_list):
    temp_dict[col] = temp_dict['Coordinate  (X, Y)'].apply(lambda location: location[n])

结果是:

X Y value
4 6 001
4 2 002
分析解答

您可以使用ast.literal_eval

>>> import ast
>>> import pandas as pd
>>> 
>>> df = pd.DataFrame({
...     'Coordinate  (X, Y)': ['(46.8637, 2.3134)', '(42.8637, 2.5134)'],
...     'value': ['001', '002']
... })
>>> df
  Coordinate  (X, Y) value
0  (46.8637, 2.3134)   001
1  (42.8637, 2.5134)   002
>>> df[['X', 'Y']] = df['Coordinate  (X, Y)'].apply(ast.literal_eval).apply(pd.Series)
>>> df.drop('Coordinate  (X, Y)', axis=1, inplace=True)
>>> df = df[['X', 'Y', 'value']]
>>> df
         X       Y value
0  46.8637  2.3134   001
1  42.8637  2.5134   002