如何从数据帧中的距离和持续时间中提取“价值”?

时间:2018-06-07 07:34:32

标签: python-3.x dataframe extraction

我正在处理一组数据。我们如何从这个DataFrame中提取“价值”?感谢。

这是数据框:

                           distance                          duration status
0  {'text': '0.5 km', 'value': 532}  {'text': '8 mins', 'value': 452}     OK
1  {'text': '0.7 km', 'value': 682}  {'text': '9 mins', 'value': 561}     OK
2  {'text': '0.6 km', 'value': 646}  {'text': '9 mins', 'value': 539}     OK
3  {'text': '0.3 km', 'value': 301}  {'text': '4 mins', 'value': 219}     OK
4  {'text': '0.3 km', 'value': 339}  {'text': '5 mins', 'value': 307}     OK
5  {'text': '0.4 km', 'value': 418}  {'text': '6 mins', 'value': 357}     OK
6  {'text': '0.5 km', 'value': 537}  {'text': '7 mins', 'value': 436}     OK
7  {'text': '0.4 km', 'value': 434}  {'text': '6 mins', 'value': 367}     OK
8  {'text': '0.4 km', 'value': 394}  {'text': '6 mins', 'value': 341}     OK

1 个答案:

答案 0 :(得分:0)

试试这个,

df[['distance_text','distance_value']]=df['distance'].str.replace("text|value|{|}|'|:",'').str.split(',',expand=True)
df[['duration_text','duration_value']]=df['duration'].str.replace("text|value|{|}|'|:",'').str.split(',',expand=True)
df=df[['distance_text','distance_value','duration_text','duration_value','status']]

输出:

  distance_text distance_value duration_text duration_value status
0        0.5 km            532        8 mins            452     OK
1        0.7 km            682        9 mins            561     OK
2        0.6 km            646        9 mins            539     OK
3        0.3 km            301        4 mins            219     OK
4        0.3 km            339        5 mins            307     OK
5        0.4 km            418        6 mins            357     OK
6        0.5 km            537        7 mins            436     OK
7        0.4 km            434        6 mins            367     OK
8        0.4 km            394        6 mins            341     OK