你可以先轉換Json Column
到dict
如果必要的話json.loads
:
import json
df = pd.DataFrame({'Column 1':[123],
'Column 2':['ABC'],
'Json Column':['{"anotherNumber":345,"anotherString":"DEF"}']})
print (df)
Column 1 Column 2 Json Column
0 123 ABC {'anotherString': 'DEF', 'anotherNumber': 345}
print (type(df.ix[0,'Json Column']))
<class 'str'>
df['Json Column'] = df['Json Column'].apply((json.loads))
print (type(df.ix[0,'Json Column']))
<class 'dict'>
然後生成列表清單並從構造函數創建Dataframe
:
print (df['Json Column'].values.tolist())
[{'anotherString': 'DEF', 'anotherNumber': 345}]
df1 = pd.DataFrame(df['Json Column'].values.tolist())
print (df1)
anotherNumber anotherString
0 345 DEF
末concat
到原來,這裏由drop
去除柱Json Column
是:
print (pd.concat([df.drop('Json Column', axis=1), df1], axis=1))
Column 1 Column 2 anotherNumber anotherString
0 123 ABC 345 DEF
謝謝!我曾嘗試過,但沒有json.loads片,所以它沒有工作。 – Carlos
是的,在downvote後,我知道它是字符串列。感謝您的接受! – jezrael