楼主: 呦鹿w
1394 3

[问答] 请问如何求出某一列数据在不同年份里面的最大值并且形成新表 [推广有奖]

  • 0关注
  • 0粉丝

初中生

80%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0.3000
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
120 点
帖子
2
精华
0
在线时间
33 小时
注册时间
2021-2-3
最后登录
2023-3-12

楼主
呦鹿w 发表于 2021-4-11 21:40:28 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
如图,表里面有许多股票,标号分别是000001等等,现在想求出每个股票在不同年份里面A001000000和A002000000的最大值,并讲这些数据形成一个新表应该怎么办呀

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:最大值 怎么办

1618148273(1).png (49.15 KB)

1618148273(1).png

沙发
xc2156 发表于 2021-4-13 08:31:17
这些简单的操作都可以通过dplyr包来完成
  1. df %>%
  2. group_by(Stkcd, year = substr(Accper, 1, 4)) %>%
  3.     summarise(max_A001 = max(A001000000),
  4.               max_A002 = max(A002000000))
复制代码


如果熟悉sql的话,还可以通过sqldf包来完成


  1. sqldf("select Stkcd, substr(Accper, 1, 4),
  2.         max(A001000000) max_A001,
  3.         max(A002000000) max_A002
  4.       from df
  5.       group by Stkcd, substr(Accper, 1, 4)")
复制代码


这个属于数据操作里的常规操作,你可以google一下greatest n per group问题,各类数据科学的语言都有对应的简单解决方案,包括excel都可以。
已有 1 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
东方祥 + 10 + 4 + 5 + 4 精彩帖子

总评分: 论坛币 + 10  学术水平 + 4  热心指数 + 5  信用等级 + 4   查看全部评分

藤椅
xc2156 发表于 2021-4-13 08:41:14
这个问题可以用dplyr包来解决

  1. df %>%
  2.     group_by(Stkcd, year = substr(Accper, 1, 4)) %>%
  3.     summarise(max_A001 = max(A001000000),
  4.               max_A002 = max(A002000000))
复制代码


另外,这个问题属于greatest n per group问题,你可以google一下。很多数据科学的语言都有相对应的简单解决方案,属于常规操作。
已有 2 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
东方祥 + 10 + 5 + 3 + 3 精彩帖子
Sunknownay + 3 + 3 + 3 热心帮助其他会员

总评分: 论坛币 + 10  学术水平 + 8  热心指数 + 6  信用等级 + 6   查看全部评分

板凳
注册吧 发表于 2021-4-20 16:21:06
excel透视表

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-2-5 12:54