筛选Python数据帧中的字符串值
我正在使用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
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()