查找具有最高值的行的列名,同时根据最大列值理解行

我对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 code

winner("demo.csv")

请帮忙。我不明白我应该在缺少的代码部分写什么。


慕沐林林
浏览 126回答 1
1回答

一只甜甜圈

代码的逐行解释带有注释。试试这个 :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)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python