1 回答

TA貢獻1816條經驗 獲得超4個贊
試試下面的代碼。希望這會有所幫助:
import pandas as pd
df = pd.DataFrame({'A':[1,2,3,4],'B':[2,1,3,2],'C':[3,4,2,1],'D':[4,2,1,3]});
data = {'A':[1,2,3,4],'B':[2,1,3,2],'C':[3,4,2,1],'D':[4,2,1,3]}
將數據轉換為所需的格式..
new_data = dict()
for key, value in data.items():
for data1 in value:
if data1 in new_data.keys():
if key in new_data[data1]:
pass
else:
new_data[data1].append(key)
else:
new_data[data1]=[key]
如果每個鍵的值長度不同,則熊貓將不會為傳遞的字典創建數據框。因此在這種情況下將值長度轉換為與 4 相同。
for key ,value in new_data.items():
dif = 4 - len(value)
new_data[key] = value + [None]*dif
數據的輸出將是:
new_data
{1: ['A', 'B', 'C', 'D'],
2: ['A', 'B', 'C', 'D'],
3: ['A', 'B', 'C', 'D'],
4: ['A', 'C', 'D', None]}
現在將其轉換為數據框:
1 2 3 4
0 A A A A
1 B B B C
2 C C C D
3 D D D None
添加回答
舉報