'numpy.int64'类型的参数不可迭代

时间:2016-03-30 20:57:03

标签: python pandas

我已经通过论坛查看但似乎无法完成这项工作。我有一个CSV文件,有1300行。一列是标题ID。 ID列是六位数字。当我尝试使用此代码查找特定数字时:

public void flush() {
    open();
    while(!unwrittenLogs.isEmpty()) {
        String line = unwrittenLogs.poll();
        log.print(line);
    }
    close();
}

private void open() {
    if(log == null) {
        try {
            log = new PrintWriter(new FileOutputStream(logFile, true));
        } catch (FileNotFoundException e) {
            System.err.printf("Unable to open Log File.\n%s\n",e.getMessage());
            e.printStackTrace(System.err);
        }
    }
}

private void close() {
    if(log != null) {
        log.close();
        log = null;
    }
}

我在追溯上获得以下内容。

    df[df['ID'].map(lambda ID: "342270" in ID)]

2 个答案:

答案 0 :(得分:1)

在这种情况下你不需要lambda函数:

df[df.ID == 342270]

应该做的伎俩

答案 1 :(得分:0)

当您使用in ID时,您实际上正在迭代ID并查看其中的任何项目是否等于in之前的项目。你或许想在这里使用str()

df[df['ID'].map(lambda ID: "342270" in str(ID)]

或者你想看看ID是否与342270相同:

df[df['ID'].map(lambda ID: ID == 342270)]