筛选Python数据帧中的字符串值

筛选Python数据帧中的字符串值,python,string,pandas,dataframe,Python,String,Pandas,Dataframe,我正在使用Python熊猫 例如,我有一个数据帧,如下所示 index, name, acct_no, city 1, alex, 10011, huntington 2, rider, 100AB, charleston 3, daniel, A1009, bonn 4, rice, AAAA1, new york 5, ricardo, 12121, london 从这个数据集中,我只想得到 帐户编号列中没有任何字符串的记录 index, name, acct_no, city 1, al

我正在使用Python熊猫

例如,我有一个数据帧,如下所示

index, name, acct_no, city
1, alex, 10011, huntington
2, rider, 100AB, charleston
3, daniel, A1009, bonn
4, rice, AAAA1, new york
5, ricardo, 12121, london
从这个数据集中,我只想得到 帐户编号列中没有任何字符串的记录

index, name, acct_no, city
1, alex, 10011, huntington
5, ricardo, 12121, london
因此,我想从上面的数据集中得到以下结果。在以下结果中,acct\u no列的值中没有字符串

index, name, acct_no, city
1, alex, 10011, huntington
5, ricardo, 12121, london

哪个代码会给我这样的结果?

可以检查
str.contains

df1=df[~df.acct_no.str.contains('[a-zA-Z]')]
df1
Out[119]: 
   index      name acct_no         city
0      1      alex   10011   huntington
4      5   ricardo   12121       london
或者使用
对数值进行过滤,并按
notna进行过滤

df[pd.to_numeric(df.acct_no,errors='coerce').notna()]

可以检查
str.contains

df1=df[~df.acct_no.str.contains('[a-zA-Z]')]
df1
Out[119]: 
   index      name acct_no         city
0      1      alex   10011   huntington
4      5   ricardo   12121       london
或者使用
对数值进行过滤,并按
notna进行过滤

df[pd.to_numeric(df.acct_no,errors='coerce').notna()]

另一种解决方案可能是使用pd.to_numeric,它尝试将值转换为数字。当它失败时,我们可以让它返回nan(通过指定errors='concurve'),然后删除所有nan值:

df.acct_no = pd.to_numeric(df.acct_no, errors='coerce')
df.dropna()

另一种解决方案可能是使用pd.to_numeric,它尝试将值转换为数字。当它失败时,我们可以让它返回nan(通过指定errors='concurve'),然后删除所有nan值:

df.acct_no = pd.to_numeric(df.acct_no, errors='coerce')
df.dropna()