首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在多列数据格式中找到特殊的字母?

如何在多列数据格式中找到特殊的字母?
EN

Stack Overflow用户
提问于 2022-09-22 02:16:38
回答 1查看 30关注 0票数 1

我正在找一封特别的信来检查替换是否正确。

代码语言:javascript
复制
df = pd.read_excel(io = "mydata.xlsx", sheet_name = 'Sheet1', index_col = 0)
df

header = df.select_dtypes(['object']).columns # to get the str type columns only
df[header].apply(lambda x: x.str.replace(pat=r'[^\w]', repl=r'', regex=True)) # and replace them with black ''

若要查看带有特殊字母的列:

代码语言:javascript
复制
df_header = df[header]
df_test2 = df_header[['PCETC_DTL','WARNSPEAK4DTL','WARNBEHAV4DTL','WARNEMOTION4DTL','WARNSIGN_DTL','EVENT_DTL','EVENT_DTL_2']]
df_test2[df_test2.apply(lambda x: x.str.contains('w', na=False))]

我得到了结果:

代码语言:javascript
复制
PCETC_DTL   WARNSPEAK4DTL   WARNBEHAV4DTL   WARNEMOTION4DTL WARNSIGN_DTL    EVENT_DTL   EVENT_DTL_2
EXCLUDE                         
1_3 NaN NaN NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN NaN NaN NaN
... ... ... ... ... ... ... ...
1_3 NaN NaN NaN NaN NaN NaN NaN
1_3 NaN NaN NaN NaN NaN NaN NaN
1_3 NaN NaN NaN NaN NaN NaN NaN
1_3 NaN NaN NaN NaN NaN NaN NaN
1_3 NaN NaN NaN NaN NaN NaN NaN
104959 rows × 7 columns

我怎么能看到只有“w”的行?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-09-22 04:02:43

可以使用any聚合每行布尔值,以便只选择至少一个w的行。

代码语言:javascript
复制
df_test2[df_test2.apply(lambda x: x.str.contains('w', na=False)).any(1)]

如果要同时筛选行和列:

代码语言:javascript
复制
df2 = df_test2.apply(lambda x: x.str.contains('w', na=False))

df_test2.loc[df2.any(1), df2.any()]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73808648

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档