如果我们的熊猫数据框df1的列为Car_Info
。
我们如何将以下字符串中的信息提取到新列中?即使用正则表达式还是pd.read_json()?
请注意,“ car_id
”和“ wheel_id
”的格式与“ price
”和“ count_results
”的格式略有不同。
Car_Info
'{"car_id":"100","wheel_id":"80-ABC-999","price":14,"count_results":1051}'
'{"car_id":"200","wheel_id":"90-XY-6134","price":245,"count_results":37}'
'{"car_id":"300","wheel_id":"100-QRST-83751","price":729,"count_results":203}'
更具体地说,我们如何处理Car_Info列以将以下四列添加到熊猫数据帧df1?
car_id
100
200
300
wheel_id
80-ABC-999
90-XY-6134
100-QRST-83751
price
14
245
729
count_results
1051
37
203
答案 0 :(得分:0)
这是JSON,pandas可以直接导入JSON:
import pandas as pd
df = pd.read_json('{"car_id":"100","wheel_id":"80-ABC-999","price":14,"count_results":1051}', lines=True)
car_id count_results price wheel_id
0 100 1051 14 80-ABC-999
答案 1 :(得分:-1)
下面,我创建了代码,该代码创建了一个解决您的问题的新数据框。该数据框可以合并回原始数据框。
df = pd.DataFrame()
for row in range(len(df1['car'])):
df = df.append(pd.DataFrame([ast.literal_eval(df1['car_info'][row])]))
可以从ast导入函数literal_eval,以将列中的字符串作为字典来处理。