楼主: pfu186296
571 4

[其他] 求助 pandas不使用for循环如何拆分并重新拼接dataframe [推广有奖]

  • 0关注
  • 0粉丝

等待验证会员

初中生

28%

还不是VIP/贵宾

-

威望
0
论坛币
1424 个
通用积分
67.1708
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
95 点
帖子
9
精华
0
在线时间
9 小时
注册时间
2022-4-17
最后登录
2023-12-28

楼主
pfu186296 发表于 2023-6-19 17:08:21 |AI写论文
100论坛币

如图,dataframe是全体A股的历年来的交易额数据。现在想根据股票代码将其分割,并重新根据交易日期横向拼接起来,想要的最终结果如下图。笨办法是用for循环和pd.merge一个个拼起来,想知道有没有效率更高的方法,比如基于groupby('stkcd')的一些操作。

附件: 你需要登录才可以下载或查看附件。没有帐号?我要注册

最佳答案

wind_951 查看完整内容

我觉得你是想把股票进行行转列。 看看这是不是你要的
关键词:Dataframe pandas Frame panda for循环 python

沙发
wind_951 发表于 2023-6-19 17:08:22
我觉得你是想把股票进行行转列。
  1. import pandas as pd

  2. # 创建示例DataFrame
  3. df = pd.DataFrame({
  4.     'Date': ['20080102', '20080102', '20080102', '20080103', '20080104', '20080105'],
  5.     'stkcd': ['1', '2', '3', '2', '4', '2'],
  6.     'value': [1, 2, 3, 4, 5, 6]
  7. })

  8. # 使用pivot将行转换为列
  9. pivot_df = df.pivot(index='Date', columns='stkcd', values='value')

  10. print(pivot_df)
复制代码
看看这是不是你要的


藤椅
yolandayoyo227 发表于 2023-6-19 22:35:43
先把日期作为Key,groupby stock ID?

板凳
pfu186296 发表于 2023-6-20 12:46:20
wind_951 发表于 2023-6-20 11:42
我觉得你是想把股票进行行转列。
看看这是不是你要的
非常感谢,是这样的

报纸
zpy-happy 发表于 2023-6-20 20:08:40
如果没理解错的话,reshape应该就可以了

reshape wide Dnvaltrd,i(Trddt)j(Stkcd)   //Stkcd需要为数值型

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

本版微信群
jg-xs1
拉您进交流群
GMT+8, 2026-1-9 07:15