打印不带dtype的Pandas

roejwanj  于 2022-12-16  发布在  其他
关注(0)|答案(1)|浏览(170)

我读过一些关于这个问题的文章,但是其他的解决方案都不适合我。我试着查看2个不同的CSV文件,并比较每个文件中1列的数据。以下是我目前所拥有的:

import pandas as pd
import numpy as np

dataBI = pd.read_csv("U:/eu_inventory/EO BI Orders.csv")
dataOrderTrimmed = dataBI.iloc[:,1:2].values

dataVA05 = pd.read_csv("U:\eu_inventory\VA05_Export.csv")
dataVAOrder = dataVA05.iloc[:,1:2].values

dataVAList = []

ordersInBoth = []
ordersInBI = []
ordersInVA = []

for order in np.nditer(dataOrderTrimmed):
    if order in dataVAOrder:
        ordersInBoth.append(order)
    else:
        ordersInBI.append(order)

如果dataOrderTrimmed中的订单号也在dataVAOrder中,我想将其添加到ordersInBoth中,否则我想把它添加到ordersInBI。我认为它正确地分割了信息,但是如果我尝试打印ordersInBoth,每个项目都打印为array(5555555, dtype=int64),我希望有一个订单号列表,而不是数组,并且不包括dtype信息。如果您需要更多信息,或者如果我的方法不正确,请告诉我。我打出来了,很混乱。

llycmphe

llycmphe1#

使用.iloc的方法是给你一个DataFrame,当你访问values时,它变成了2D数组。如果你只想得到索引为1的列中的值,那么你只需要说:

dataOrderTrimmed = dataBI.iloc[:, 1].values

然后,您可以直接迭代dataOrderTrimmed(即,您不需要nditer),并且您将获得常规标量值。

相关问题