np.where()函数返回值False不是True

时间:2019-05-25 22:04:58

标签: python python-3.x numpy

我试图在非常大的数据集中使用np.where()函数在两个不同的.csv文件中执行列值匹配。

这部分代码可以与其他文件完美配合,但是在这种情况下,np.where()在打印时没有任何价值。

import pandas as pd
import numpy as np
import csv
df = pd.read_csv('E:\LINC_Prediction/graph.csv',engine='python')

col1 = np.array(df[df.columns[0]].values)
print(len(col1))
fh = open ("E:\LINC_Prediction/output.csv",'r')

for line in fh:
    tokens = line.split(',')
    ind1=np.where(col1== tokens[0])
    print(ind1)

它也在生成警告[ind1=np.where(col1== tokens[0]]-在这里-

108
E:/LINC_Prediction/final.py:23: FutureWarning: elementwise 
comparison failed; returning scalar instead, but in the future will 
perform elementwise comparison ind1=np.where(col1== tokens[0])
It supposed print like this -
(array([ 8670], dtype=int64),)
(array([ 8679], dtype=int64),)
(array([ 8678], dtype=int64),)
but it is printing like this -
(array([ ], dtype=int64),)
(array([ ], dtype=int64),)
(array([ ], dtype=int64),

谢谢大家

0 个答案:

没有答案