我正在尝试检查某个值是否包含在python列中。我正在使用df.date.isin(['07311954'])
,这无疑是一个很好的工具。问题是我有超过350K行,输出将不会显示
所有这些都是为了让我知道这个值是否被包含。简单地说,我只想知道(Y/N)列中是否包含特定值。我的代码如下:
import numpy as np
import pandas as pd
import glob
df = (pd.read_csv('/home/jayaramdas/anaconda3/Thesis/FEC_data/itpas2_data/itpas214.txt',\
sep='|', header=None, low_memory=False, names=['1', '2', '3', '4', '5', '6', '7', \
'8', '9', '10', '11', '12', '13', 'date', '15', '16', '17', '18', '19', '20', \
'21', '22']))
df.date.isin(['07311954'])
我认为您需要^{} ,如果您需要
date
列的值包含字符串07311954
的行:或者如果
date
列的type
是string
:如果要检查
string
1954
列中date
的最后4位:样品:
您可以使用
any
:如果您更想知道列中发生了多少次'07311954',则可以使用:
您只需使用:
'07311954' in df.date.values
返回True
或False
下面是进一步的解释:
在pandas中,使用
in
直接检查数据帧和序列(例如val in df
或val in series
)将检查val
是否包含在索引中。但您仍然可以使用
in
检查它们的值(而不是索引)!只是使用val in df.col_name.values
或者val in series.values
。这样,您实际上是用Numpy数组检查val
。而
.isin(vals)
则相反,它检查数据帧/序列值是否在中。这里vals
必须是集合或类似列表的。所以这不是解决这个问题的自然方法。相关问题 更多 >
编程相关推荐