|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 DrWhiter 于 2021-5-15 23:07 编辑
我有三个字典,他们是这样的:Chinese = {'张三': 89.0, '李四': 95.0, '王五': 93.0, '赵六': 79.0, '刘七': 82.0, '甲': 97.0, '乙': 91.0, '丙': 90.0, '丁': 87.0}
Maths = {'张三': 98.0, '李四': 99.0, '王五': 81.0, '赵六': 100.0, '刘七': 93.0, '甲': 100.0, '乙': 87.0, '丙': 89.0, '丁': 88.0}
English = {'张三': 91.0, '李四': 100.0, '王五': 89.0, '赵六': 91.0, '刘七': 95.0, '甲': 97.0, '乙': 93.0, '丙': 94.0, '丁': 100.0}
现在我想把他们转化成像下面一样的DataFrame对象: 成绩\姓名 张三 李四 王五 赵六 刘七 甲 乙 丙 丁
0 Chinese 89 95 93 79 82 97 91 90 87
1 Maths 98 99 81 100 93 100 87 89 88
2 English 91 100 89 91 95 97 93 94 100
我该怎么办?(请忽略字典中的浮点数,把他们看成整型)
本帖最后由 林小林 于 2021-5-16 07:08 编辑 import pandas as pd
Chinese = {'张三': 89.0, '李四': 95.0, '王五': 93.0, '赵六': 79.0, '刘七': 82.0, '甲': 97.0, '乙': 91.0, '丙': 90.0, '丁': 87.0}
Maths = {'张三': 98.0, '李四': 99.0, '王五': 81.0, '赵六': 100.0, '刘七': 93.0, '甲': 100.0, '乙': 87.0, '丙': 89.0, '丁': 88.0}
English = {'张三': 91.0, '李四': 100.0, '王五': 89.0, '赵六': 91.0, '刘七': 95.0, '甲': 97.0, '乙': 93.0, '丙': 94.0, '丁': 100.0}
table = pd.DataFrame()
table = table.append(Chinese,ignore_index=True)
table = table.append(Maths,ignore_index=True)
table = table.append(English,ignore_index=True)
print(table)
这样能满足你的要求吗
输出结果是 丁 丙 乙 刘七 张三 李四 王五 甲 赵六
0 87.0 90.0 91.0 82.0 89.0 95.0 93.0 97.0 79.0
1 88.0 89.0 87.0 93.0 98.0 99.0 81.0 100.0 100.0
2 100.0 94.0 93.0 95.0 91.0 100.0 89.0 97.0 91.0
若想加入科目名称,并且让datafrmae中顺序和列表中顺序一样,我又改进了一下: import pandas as pd
Chinese = {'张三': 89.0, '李四': 95.0, '王五': 93.0, '赵六': 79.0, '刘七': 82.0, '甲': 97.0, '乙': 91.0, '丙': 90.0, '丁': 87.0}
Maths = {'张三': 98.0, '李四': 99.0, '王五': 81.0, '赵六': 100.0, '刘七': 93.0, '甲': 100.0, '乙': 87.0, '丙': 89.0, '丁': 88.0}
English = {'张三': 91.0, '李四': 100.0, '王五': 89.0, '赵六': 91.0, '刘七': 95.0, '甲': 97.0, '乙': 93.0, '丙': 94.0, '丁': 100.0}
Chinese.update({'成绩\姓名':'Chinese'})
Maths.update({'成绩\姓名':'Maths'})
English.update({'成绩\姓名':'English'})
title = list(Chinese)
title.insert(0,title.pop())
table = pd.DataFrame()
table = table.append(Chinese,ignore_index=True)
table = table.append(Maths,ignore_index=True)
table = table.append(English,ignore_index=True)
table = table[title]
print(table)
新的输出结果是: 成绩\姓名 张三 李四 王五 赵六 刘七 甲 乙 丙 丁
0 Chinese 89.0 95.0 93.0 79.0 82.0 97.0 91.0 90.0 87.0
1 Maths 98.0 99.0 81.0 100.0 93.0 100.0 87.0 89.0 88.0
2 English 91.0 100.0 89.0 91.0 95.0 97.0 93.0 94.0 100.0
|
|