我有一本這樣的字典:
{'BTCTRY': {'price': '634834.00000000', 'time': datetime.datetime(2021, 12, 31, 10, 12, 53, 480197)}, 'BNBTRY': {'price': '6898.00000000', 'time': datetime.datetime(2021, 12, 31, 10, 12, 53, 480197)}, 'BUSDTRY': {'price': '13.08100000', 'time': datetime.datetime(2021, 12, 31, 10, 12, 53, 480197)}
我想從這個字典中創建一個資料框,在第一列中包含對名,在第二列中包含價格元素,如下所示:
Column0 Column1
BTCTRY 634834.0000000
BNBTRY 6898.0000000
這樣做的最正確方法是什么?
uj5u.com熱心網友回復:
你可以試試這個:
import datetime
d = {'BTCTRY': {'price': '634834.00000000',
'time': datetime.datetime(2021, 12, 31, 10, 12, 53, 480197)
},
'BNBTRY': {'price': '6898.00000000',
'time': datetime.datetime(2021, 12, 31, 10, 12, 53, 480197)
},
'BUSDTRY': {'price': '13.08100000',
'time': datetime.datetime(2021, 12, 31, 10, 12, 53, 480197)
}
}
df = pd.DataFrame.from_dict(d).T
df
# Output
# price time
#BTCTRY 634834.00000000 2021-12-31 10:12:53.480197
#BNBTRY 6898.00000000 2021-12-31 10:12:53.480197
#BUSDTRY 13.08100000 2021-12-31 10:12:53.480197
df.drop(["time"], axis=1)
# Output
# price
#BTCTRY 634834.00000000
#BNBTRY 6898.00000000
#BUSDTRY 13.08100000
uj5u.com熱心網友回復:
我建議使用 pandas 庫和 pandas.DataFrame.from_dict 方法(參見https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.from_dict.html)
您應該指定引數“orient”來索引.
data = {'BTCTRY': {'price': '634834.00000000', 'time': datetime.datetime(2021, 12, 31, 10, 12, 53, 480197)}, 'BNBTRY': {'price': '6898.00000000', 'time': datetime.datetime(2021, 12, 31, 10, 12, 53, 480197)}, 'BUSDTRY': {'price': '13.08100000', 'time': datetime.datetime(2021, 12, 31, 10, 12, 53, 480197)}}
df = pd.DataFrame.from_dict(data, orient='index')
print(df)
最好的 !
uj5u.com熱心網友回復:
df = pd.DataFrame([(k,v['price']) for k,v in dic.items()], columns = ['Column0','Column1'])
uj5u.com熱心網友回復:
我會試試這個:
import datetime
import pandas as pd
dictis = {
'BTCTRY': {
'price': '634834.00000000', 'time': datetime.datetime(2021, 12, 31, 10, 12, 53, 480197)
}
, 'BNBTRY': {
'price': '6898.00000000', 'time': datetime.datetime(2021, 12, 31, 10, 12, 53, 480197)
}
, 'BUSDTRY': {
'price': '13.08100000', 'time': datetime.datetime(2021, 12, 31, 10, 12, 53, 480197)
}
}
values = [
[key, next(iter(value.values()))]
for key, value in dictis.items()
]
columns = ["Column 1", "Column 2"]
df = pd.DataFrame(
data=values
, columns=columns
)
print(df)
輸出:
Column 1 Column 2
0 BTCTRY 634834.00000000
1 BNBTRY 6898.00000000
2 BUSDTRY 13.08100000
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/400828.html
上一篇:計算大熊貓df中特殊詞的(總)數
