【发布时间】:2020-10-24 08:23:42
【问题描述】:
如果我有一个随机值的数据框:
import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.randint(0,10, size=[5, 5]))
然后我选择任意一列并运行以下代码:
for x in df[0]:
print(x in df[0])
我希望输出是:
True
True
True
True
True
但事实并非如此。它打印各种“真”和“假”。它似乎为 range(5) 中的项目打印“True”,否则为 False。我尝试将我的数据框更改为:
df = pd.DataFrame(np.random.randint(0,10, size=[6, 6]))
同样的代码为 range(6) 中的元素打印 True。如果我将条件更改为:
for x in df[0]:
print(x in list(df[0]))
它按预期打印所有 True(无论数据框的大小如何)。谁能解释这是为什么?
【问题讨论】:
-
它正在检查该项目是否在索引中。这里有一个很好的解释:stackoverflow.com/questions/21319929/…
标签: python python-3.x pandas numpy dataframe