Python比较列表的两列
如何在python中比较列表的两列?我已经尝试过了,但它给出了如下所述的错误:Python比较列表的两列,python,pandas,Python,Pandas,如何在python中比较列表的两列?我已经尝试过了,但它给出了如下所述的错误: import pandas as pd TrainDate=pd.read_csv('../input/train_date.csv', delimiter=',', nrows=10, skiprows=0) TrainDateNumeric=TrainDate.fillna(0).values if (TrainDateNumeric[:,1] == TrainDateNumeric[:,2] ):
import pandas as pd
TrainDate=pd.read_csv('../input/train_date.csv', delimiter=',', nrows=10, skiprows=0)
TrainDateNumeric=TrainDate.fillna(0).values
if (TrainDateNumeric[:,1] == TrainDateNumeric[:,2] ):
print ("Yes")
ValueError:包含多个元素的数组的真值不明确。使用a.any()或a.all()
它们是numpy
数组。你必须这样比较
import numpy as np
if np.allclose(Train[:,1], Train[:,2]):
print ("Yes")
这不是一份清单;这是一个numpy数组,异常消息很容易搜索。你试过明白它的意思吗?Numpy按值比较内容值,并生成一个布尔结果数组,而不是一个布尔值。所以这里没有一个正确或错误的结果。看看你在这里尝试做什么,你应该做
if(TrainDateNumeric[:,1]==TrainDateNumeric[:,2])。all():print(“Yes”)
这里的问题是如果
期望在数据帧列上使用==
的标量值,则会产生一系列布尔值