|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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
复制代码
|
|