检查pandas的dataframe列中是否包含某些值

我正在尝试检查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'])

回答:

我认为str.contains如果需要行,其中column的值date包含string

07311954

print df[df['date'].astype(str).str.contains('07311954')]

或者,如果typedate列是string

print df[df['date'].str.contains('07311954')]

如果要检查string1954列中的最后4位数字date

print df[df['date'].astype(str).str[-4:].str.contains('1954')]

样品:

print df['date']

0 8152007

1 9262007

2 7311954

3 2252011

4 2012011

5 2012011

6 2222011

7 2282011

Name: date, dtype: int64

print df['date'].astype(str).str[-4:].str.contains('1954')

0 False

1 False

2 True

3 False

4 False

5 False

6 False

7 False

Name: date, dtype: bool

print df[df['date'].astype(str).str[-4:].str.contains('1954')]

cmte_id trans_typ entity_typ state employer occupation date \

2 C00119040 24K CCM MD NaN NaN 7311954

amount fec_id cand_id

2 1000 C00140715 H2MD05155

以上是 检查pandas的dataframe列中是否包含某些值 的全部内容, 来源链接: utcz.com/qa/416792.html

回到顶部