我的函式中有以下代碼get_context_data(self, **kwargs):
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context['uploaded'] = self.request.session['uploaded']
context['selection'] = self.request.session['selection']
dict_comparaison_p1 = dict(enumerate(context['uploaded'].items()))
list_comparaison_p2 = context['selection']
dict_comparaison_p2 = {number: dict_comparaison_p1[number] for number in list_comparaison_p2}
pprint(dict_comparaison_p2)
我dict_comparaison_p2的輸出如下:
{0: ('Product', {'0': 'Smartwatch', '1': 'Shoes', '2': 'Necklace'}),
1: (' Weight', {'0': 2, '1': 50, '2': 40}),
2: (' Price', {'0': 100, '1': 240, '2': 230})}
我想將它轉換為這樣的 DataFrame:
Product Weight Price
0 Smartwatch 2 100
1 Shoes 50 240
2 Necklace 40 230
但是當我嘗試用我的輸出轉換它時,我得到以下結果:
0 1 2
0 Product Weight Price
1 {'0': 'Smartwatch', '1': 'Shoes', '2': 'Neckla... {'0': 2, '1': 50, '2': 40} {'0': 100, '1': 240, '2': 230}
你能幫我解決這個問題嗎?
謝謝!
uj5u.com熱心網友回復:
一種可能的方法:
import pandas as pd
d = {0: ('Product', {'0': 'Smartwatch', '1': 'Shoes', '2': 'Necklace'}),
1: (' Weight', {'0': 2, '1': 50, '2': 40}),
2: (' Price', {'0': 100, '1': 240, '2': 230})}
d_col = {}
df = pd.DataFrame()
idx = 0
for k,v in d.items():
d_col[k] = v[0]
df = df.append(pd.DataFrame(data=v[1],index=[idx]))
idx =1
df = df.T.rename(columns = d_col)
print(df)
我分解元組并根據需要操縱資訊。首先,制作一個名為 d_col 的字典。我將我們想要的資料附加到一個最初為空的 DataFrame 并繼續附加。后來,我使用字典 d_col 來根據索參考正確的列名標記 df.T,因為我在回圈的前面已經根據 idx 設定了這些索引。
輸出:
Product Weight Price
0 Smartwatch 2 100
1 Shoes 50 240
2 Necklace 40 230
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/419892.html
標籤:
