gpt4 book ai didi

python-3.x - 在 Pandas 系列中查找值 - Python3

转载 作者:行者123 更新时间:2023-12-04 13:27:55 25 4
gpt4 key购买 nike

我有这个非常烦人的问题(我对 python 很陌生)

df=pd.DataFrame[{'col1':['1','2','3','4']}]

col1=df['col1']

为什么 col1[1] in col1返回 False ?

最佳答案

对于检查值使用 boolean indexing :

#get value where index is 1
print (col1[1])
2
#more common with loc
print (col1.loc[1])
2

print (col1 == '2')
0 False
1 True
2 False
3 False
Name: col1, dtype: bool
如果需要获取行:
print (col1[col1 == '2'])
1 2
Name: col1, dtype: object
使用 or 检查多个值:
print (col1.isin(['2', '4']))
0 False
1 True
2 False
3 True
Name: col1, dtype: bool

print (col1[col1.isin(['2', '4'])])
1 2
3 4
Name: col1, dtype: object
还有一些关于 in用于测试成员(member)资格 docs :

Using the Python in operator on a Series tests for membership in the index, not membership among the values.

If this behavior is surprising, keep in mind that using in on a Python dictionary tests keys, not values, and Series are dict-like. To test for membership in the values, use the method isin():

For DataFrames, likewise, in applies to the column axis, testing for membership in the list of column names.

#1 is in index
print (1 in col1)
True

#5 is not in index
print (5 in col1)
False

#string 2 is not in index
print ('2' in col1)
False

#number 2 is in index
print (2 in col1)
True
您尝试查找字符串 2在索引值中:
print (col1[1])
2

print (type(col1[1]))
<class 'str'>

print (col1[1] in col1)
False

关于python-3.x - 在 Pandas 系列中查找值 - Python3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42697905/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com