2017-06-07 18 views
1

pythonでpandas dataFrame私は複数の列値の単一のjson列を作成したかった。これは私が望む結果であるpython pandas dataFrame複数の列の単一のjson列を作成する値

| - | col1 | col2 | col3 | col4| 
| 1 | abc | def | ghi | 8 | 
| 2 | xab | xcd | xef | 9 | 


例:次のデータフレームを想定し

|  |col1 | json_col|br 
|1 | abc | {"col2":"def","col3":"ghi","col4":8}| 
|2 | xab | {"col2":"xcd","col3":"xef","col4":9}| 

選択した列の単一列(json型)はどのように作成できますか?

答えて

1

あなたが最後dropして列を削除し、to_jsonapplyを使用することができます。

cols = ['col2','col3','col4'] 
df['json_col'] = df[cols].apply(lambda x: x.to_json(), axis=1) 
df = df.drop(cols, axis=1) 
print (df) 
    - col1        json_col 
0 1 abc {"col2":"def","col3":"ghi","col4":8} 
1 2 xab {"col2":"xcd","col3":"xef","col4":9} 
関連する問題