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
添加回答
举报