Python 使用if语句遍历dataframe列和eval,并将列值传递给空列表/字典

Python 使用if语句遍历dataframe列和eval,并将列值传递给空列表/字典,python,pandas,dataframe,Python,Pandas,Dataframe,对于python和pandas,我有一个带有标题的数据帧: sl.no ObjectPartCode车组故障\u代码日期月份年份日期 列车组的值已排序, 我想迭代列TRAINSET,如果连续的“TRAINSET”值相同,我想将TRAINSET值和相应的FDATE值附加到字典/列表中。 这就是我尝试过的: for i,column in df['TRAINSET'].iteritems(): # Select column contents by column name using [

对于python和pandas,我有一个带有标题的数据帧:

sl.no ObjectPartCode车组故障\u代码日期月份年份日期

列车组的值已排序, 我想迭代列TRAINSET,如果连续的“TRAINSET”值相同,我想将TRAINSET值和相应的FDATE值附加到字典/列表中。 这就是我尝试过的:

for i,column in df['TRAINSET'].iteritems():

     # Select column contents by column name using [] operator
 columnSeriesObj = df['TRAINSET']
 if ['TRAINSET'](i)==['TRAINSET'](i-1):
     list1.append(columnSeriesObj(i))
if ['TRAINSET'](i)==['TRAINSET'](i-1):
但是出现了错误:

for i,column in df['TRAINSET'].iteritems():

     # Select column contents by column name using [] operator
 columnSeriesObj = df['TRAINSET']
 if ['TRAINSET'](i)==['TRAINSET'](i-1):
     list1.append(columnSeriesObj(i))
if ['TRAINSET'](i)==['TRAINSET'](i-1):
TypeError:“list”对象不可调用


我知道我在为列中的值编制索引时犯了严重错误,请告诉我。

您不能像现在这样使用索引来访问
['TRAINSET']

通过编写
['TRAINSET']
您只是创建了一个列表,其中包含
'TRAINSET'
字符串作为元素

看起来您正在尝试使用
parandise()
按索引访问列表,这是不正确的

很可能您正在尝试执行以下操作:

columnSeriesObj = df['TRAINSET'].tolist()
list1 = []
for i in range(len(columnSeriesObj)):
    if columnSeriesObj[i] == columnSeriesObj[i-1] and columnSeriesObj[i] not in list1:
        list1.append(columnSeriesObj[i])

现在还不清楚你想做什么。请提供示例输入和预期输出,以便尽快回复。您是否正在将特定列转换为列表以迭代它?解决方案给出了以下错误列表索引必须是整数或切片,而不是str TypeError:列表索引必须是整数或切片,而不是strsorry对于这样一个noob,解决方案有一个错误,尽管很抱歉出错。拼写错误是在迭代时出现的,我没有迭代
索引
。我迭代了
元素
,这就是它显示此错误的原因。编辑答案。是的,我将列值转换为列表。