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

2024-05-17 05:44:33 发布

您现在位置:Python中文网/ 问答频道 /正文

对于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):

TypeError:“list”对象不可调用

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


Tags: 数据no代码标题pandasdfifcolumn
1条回答
网友
1楼 · 发布于 2024-05-17 05:44:33

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

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

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

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

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])

相关问题 更多 >