【发布时间】:2021-05-10 17:49:37
【问题描述】:
我下面的代码生成了一个小数据框,旨在成为一个虚构的奥运会奖牌表。
import pandas as pd
import numpy as np
df = pd.DataFrame(data=np.random.randint(0, 47, 20).reshape(4,5),
index = ['USA', 'USR', 'ITL', 'GBR'],
columns=[1996, 2000, 2004, 2008, 2102])
df['Highest'] = df.max(axis=1).round()
df = df.sort_values('Highest', ascending = False).head(10)
df
我在末尾添加了一列来确定每行(国家)的最高奖牌数。
我需要添加一个额外的“年份”列,用于添加每行获得最高奖牌的年份。
因此,如果第 1 行的奖牌数量最多的是在 2012 年获得的,则应将 2012 的值添加到新的“年份”列的第 1 行。
我该怎么做?
谢谢
【问题讨论】:
-
请不要粘贴图片。向我们展示一些示例输入,我们可以复制并输出您想要的。
-
发图片是不是很不礼貌?
-
是的。我们想要一些可以复制和处理的东西。如果您粘贴图像,我们必须手动创建一个数据框来测试一些解决方案。
-
在上面的示例中,您需要访问与我相同的数据帧才能运行代码并获得相同的输出。还是我错过了什么?问题不在于我到目前为止生成的输出,而在于我需要改进我的代码,如上面突出显示的那样。抱歉,这里是新人,正在学习绳索... :)
-
啊,好的。我和你在一起。感谢您帮助我解决这里的工作方式:)
标签: python-3.x pandas dataframe csv