Python 对数据框进行排序并保存唯一的条目

Python 对数据框进行排序并保存唯一的条目,python,pandas,loops,data-science,Python,Pandas,Loops,Data Science,我试图弄清楚如何在用pandas读取的电子表格中对行进行排序,并将值保存到变量中 以下是我目前的代码: 将熊猫作为pd导入 来自《熊猫》的作者 从导入Excel文件 df=pd.read\u excel('data\u file.xlsx',sheetname='Sheet 1') 对于df中的行: 如果line.startswith(line):通常,您希望避免尝试以编程方式设置唯一变量。最好使用字典数据结构来存储行的内容,每个“Runner”ID都有键(但Runner必须是唯一的) 您可以

我试图弄清楚如何在用pandas读取的电子表格中对行进行排序,并将值保存到变量中

以下是我目前的代码:

将熊猫作为pd导入
来自《熊猫》的作者
从导入Excel文件
df=pd.read\u excel('data\u file.xlsx',sheetname='Sheet 1')
对于df中的行:

如果line.startswith(line):
通常,您希望避免尝试以编程方式设置唯一变量。最好使用字典数据结构来存储行的内容,每个“Runner”ID都有键(但Runner必须是唯一的)

您可以使用pandas groupby快速遍历每个跑步者的数据。在循环中,i表示“Runner”ID,tdf是该Runner的数据帧。这将在dict d中为每个运行程序存储一个numpy数据数组

d = {}
for i, tdf in df.groupby('Runner'):
    d[i] = tdf[['100m', '400m']].values
编辑: 如果您真的想逐行迭代,可以使用df.iterrows()方法

d = {}
for i, x in df.iterrows():
    runner = x['Runner']
    data = x[['100m', '400m']].tolist()
    d[runner] = d.get(runner, []).append(data)