我对Python很陌生。我正在尝试为下面的数据集定义一个函数。示例数据我首先在 中查找最大值。基于这个最大值,我正在检查数据的最后8列中给定的哪一列具有最高的值。cell 3例如,根据给定的数据,中的最大值为 。现在,我正在检查列中的哪些列具有与此最大值的最大值。对于此示例数据,答案应为单元格 10,值为 7201。因此,输出应为单元格 10。cell 3 is 1470758cell 9cell 16这是我的代码:def winner(filename): data=pd.read_csv(filename, sep=',') maxC=data.npop.max() while data.loc[data['npop']]==maxC: data3=data.iloc[:,-8:].max()#missing codewinner("demo.csv")请帮忙。我不明白我应该在缺少的代码部分写什么。
1 回答
一只甜甜圈
TA贡献1836条经验 获得超5个赞
代码的逐行解释带有注释。
试试这个 :
def winner(filename):
df=pd.read_csv(filename, sep=',') # Read the csv into dataframe.
column_names = list(df.columns.values) # Get list of column names
max_col3_index = df['col3'].idmax() # this will return the index of max value in `col3` column.
row_data = df.loc[max_col3_index, column_names[-8:]] # get series of data present in last 8 columns at above index.
final_column_name = row_data.idxmax() # Get the name of column having max value in above series.
print(final_column_name)
添加回答
举报
0/150
提交
取消