我有以下形式的字典:
{'2018': 21.6, '2019': 29.0, '2020': 134.8}
和以下形式的熊貓資料框
| 指數 | 第一列 | 第 2 列 |
|---|---|---|
| 索引1 | 姓名1 | 網址1 |
| 索引2 | 姓名2 | 網址2 |
| 索引3 | 姓名 3 | 網址3 |
我現在的目標是將字典附加到一個固定的行,比如帶有 Index2 的行。結果資料幀應該是:
| 指數 | 第一列 | 第 2 列 | 2018年 | 2019年 | 2020年 |
|---|---|---|---|---|---|
| 索引1 | 姓名1 | 網址1 | |||
| 索引2 | 姓名2 | 網址2 | 21.6 | 29.0 | 134.8 |
| 索引3 | 姓名 3 | 網址3 |
之后,我想將相同形式的第二個和第三個字典附加到具有索引的行中:Index1,然后是 Index3。
用 python 做到這一點的最佳方法是什么?
uj5u.com熱心網友回復:
我認為最好首先通過索引和字典創建新的 DataFrame,然后通過DataFrame.join以下方式添加到原始資料:
d = {'2018': 21.6, '2019': 29.0, '2020': 134.8}
df = df.join(pd.DataFrame([d], index=['Index2']))
print (df)
Column1 Column2 2018 2019 2020
Index1 Name1 URL1 NaN NaN NaN
Index2 Name2 URL2 21.6 29.0 134.8
Index3 Name3 URL3 NaN NaN NaN
或者:
d = {'2018': 21.6, '2019': 29.0, '2020': 134.8}
df = df.join(pd.DataFrame.from_dict({'Index2': d}, orient='index'))
print (df)
Column1 Column2 2018 2019 2020
Index1 Name1 URL1 NaN NaN NaN
Index2 Name2 URL2 21.6 29.0 134.8
Index3 Name3 URL3 NaN NaN NaN
uj5u.com熱心網友回復:
如果您想以自定義順序將資料插入到您的資料框中,您可以嘗試以下操作:
import pandas as pd
df = pd.DataFrame([{'col1': 'Name1', 'col2': 'URL1'},
{'col1': 'Name2', 'col2': 'URL2'},
{'col1': 'Name3', 'col2': 'URL3'}],
index=['Index1','Index2','Index3'])
d2 = {'2018': 21.6, '2019': 29.0, '2020': 134.8}
d1 = {'2018': 200, '2019': 29.0, '2020': 134.8}
d3 = {'2018': 500, '2019': 29.0, '2020': 134.8}
df = df.join(pd.DataFrame([d2,d1,d3], index=['Index2','Index1','Index3']))
print (df)
輸出:
col1 col2 2018 2019 2020
Index1 Name1 URL1 200.0 29.0 134.8
Index2 Name2 URL2 21.6 29.0 134.8
Index3 Name3 URL3 500.0 29.0 134.8
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/369425.html
