鱼C论坛

 找回密码
 立即注册
查看: 1684|回复: 5

[已解决]求大神指教

[复制链接]
发表于 2023-7-26 10:12:13 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x

图1

图1

图2

图2

请教大神,如何将每天的一组排名以日期为列、姓名为行,拼接到在一起
最佳答案
2023-7-26 10:12:36
你好!很高兴能帮助你解决问题。根据你的描述,你想将每天的一组排名数据以日期为列、姓名为行的方式进行拼接。下面是一个示例代码,可以实现你的需求:
import pandas as pd

# 假设你有一个包含多个日期、姓名和排名的列表
rankings = [
    {'date': '2023-07-24', 'name': 'Alice', 'rank': 1},
    {'date': '2023-07-24', 'name': 'Bob', 'rank': 2},
    {'date': '2023-07-24', 'name': 'Charlie', 'rank': 3},
    {'date': '2023-07-25', 'name': 'Alice', 'rank': 2},
    {'date': '2023-07-25', 'name': 'Bob', 'rank': 3},
    {'date': '2023-07-25', 'name': 'Charlie', 'rank': 1}
]

# 将数据转换为DataFrame格式
df = pd.DataFrame(rankings)

# 使用pivot函数实现行列转换
pivot_table = df.pivot(index='name', columns='date', values='rank')

# 打印结果
print(pivot_table)

这段代码使用了pandas库来处理数据。首先,我们将排名数据存储在一个列表中,其中每个元素是一个字典,包含日期、姓名和排名信息。然后,我们使用pd.DataFrame()函数将数据转换为DataFrame格式。

接下来,我们使用pivot()函数将DataFrame进行行列转换,其中index参数指定了要作为行索引的列名(姓名),columns参数指定了要作为列索引的列名(日期),values参数指定了要填充到表格中的值(排名)。

最后,我们打印出转换后的结果pivot_table,即每天的一组排名以日期为列、姓名为行的表格形式。

希望这个示例代码能帮助到你!如果还有其他问题,请随时提问。
如果问题已经解决,请设置最佳答案
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-7-26 10:12:36 | 显示全部楼层    本楼为最佳答案   

回帖奖励 +5 鱼币

你好!很高兴能帮助你解决问题。根据你的描述,你想将每天的一组排名数据以日期为列、姓名为行的方式进行拼接。下面是一个示例代码,可以实现你的需求:
import pandas as pd

# 假设你有一个包含多个日期、姓名和排名的列表
rankings = [
    {'date': '2023-07-24', 'name': 'Alice', 'rank': 1},
    {'date': '2023-07-24', 'name': 'Bob', 'rank': 2},
    {'date': '2023-07-24', 'name': 'Charlie', 'rank': 3},
    {'date': '2023-07-25', 'name': 'Alice', 'rank': 2},
    {'date': '2023-07-25', 'name': 'Bob', 'rank': 3},
    {'date': '2023-07-25', 'name': 'Charlie', 'rank': 1}
]

# 将数据转换为DataFrame格式
df = pd.DataFrame(rankings)

# 使用pivot函数实现行列转换
pivot_table = df.pivot(index='name', columns='date', values='rank')

# 打印结果
print(pivot_table)

这段代码使用了pandas库来处理数据。首先,我们将排名数据存储在一个列表中,其中每个元素是一个字典,包含日期、姓名和排名信息。然后,我们使用pd.DataFrame()函数将数据转换为DataFrame格式。

接下来,我们使用pivot()函数将DataFrame进行行列转换,其中index参数指定了要作为行索引的列名(姓名),columns参数指定了要作为列索引的列名(日期),values参数指定了要填充到表格中的值(排名)。

最后,我们打印出转换后的结果pivot_table,即每天的一组排名以日期为列、姓名为行的表格形式。

希望这个示例代码能帮助到你!如果还有其他问题,请随时提问。
如果问题已经解决,请设置最佳答案
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-26 10:20:24 | 显示全部楼层
↑楼上脚本,切勿设置最佳

评分

参与人数 1荣誉 -1 收起 理由
Mike_python小 -1 恶意竞争

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 2 反对 0

使用道具 举报

发表于 2023-7-26 10:35:15 | 显示全部楼层
excel放上来

wormhole.app

评分

参与人数 1荣誉 -1 收起 理由
Mike_python小 -1 恶意引战+扣分

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-26 13:37:48 | 显示全部楼层
我想说,难道不是应该excel里直接透视一下不就可以了?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2023-7-26 14:05:04 | 显示全部楼层


数据透视表,1分钟不到就能做到

全选中你的数据,然后点击菜单栏的 插入 -> 数据透视表 -> 新表/现有工作表 -> 将日期拖动到行,姓名拖动到列,排名拖动到值即可

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-22 07:21

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表