我有三个不同的列,每个列名为Weight (LB)
。当我打印列名时,pandas似乎用Weight (LB)
和Weight (LB).1
和Weight (LB).2
来区分它们。因此,我尝试在迭代行并将它们的值附加到单独的列表中时逐个访问每个行。我应该有3张22号的单子,但是我有3张66号的单子。每个列表都获取Weight (LB)
列中的所有值。所以我把它调高,试着访问特定的列索引。当然这不可能不起作用!但我最终还是在同一条船上。你知道吗
>>> for idx, row in df.iterrows():
... squat.append(df.iloc[idx, 6])
... if row['Exercise 2'] == 'Overhead press':
... overhead.append(df.iloc[idx, 14])
... else:
... bench.append(df.iloc[idx, 14])
... if row['Exercise 3'] == 'Deadlift':
... deadlift.append(df.iloc[idx, 22])
... else:
... barbell.append(df.iloc[idx, 22])
...
>>> len(squat)
66
因此,基本上我需要的帮助是分别访问特定列中的数据,尽管它们具有相同的名称。你知道吗
谢谢!你知道吗
编辑:我可以通过iloc
正确地访问每一列,但是无论出于什么原因,所有的值都被添加到每个列表中。欧欧欧欧欧欧欧欧欧欧欧欧欧欧欧欧欧欧欧欧欧欧欧欧欧欧欧欧欧欧欧欧欧欧欧欧欧欧欧欧欧欧欧欧欧欧欧欧欧欧欧欧欧欧欧
再次编辑:我注意到,当我使用squat = bench = overhead = deadlift = barbell = []
创建列表时,它会产生意外的行为,但当我在各自的行上创建列表时,它会按预期工作。你知道吗
我只想给你的专栏改名,总的来说这会让你的生活更轻松。使用重复项有点棘手,但是您可以使用类似这样的映射函数直接指定给列。你知道吗
另外,您可能不想使用itterrows。或许可以这样写:
相关问题 更多 >
编程相关推荐