亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

刪除非ascii字符時如何完全刪除行?

刪除非ascii字符時如何完全刪除行?

紅糖糍粑 2023-09-05 19:50:07
我使用下面的代碼刪除下面所有非英文字符:DF.text.replace({r'[^\x00-\x7F]+':''}, regex=True, inplace=True)其中 df 有一個名為 text 的列,其中包含如下文本:        texthi what are you saying?okay let me knowsounds great, mikeyok.rightご承知のとおり、殘念ながら悪質な詐欺が増加しているようですのでお気を付けください。\n?Hola miguel! Lamento mucho la confusión cau預期輸出:          text    hi what are you saying?    okay let me know    sounds great, mikey    ok.    right對于我的代碼刪除字符的行 -我想從 df 中完全刪除這些行,這意味著如果它確實替換了任何非英語字符,我想從 df 中完全刪除該行,以避免該行包含 0 個字符或一些在它們之后毫無意義的字符已被上面的代碼更改。
查看完整描述

2 回答

?
神不在的星期二

TA貢獻1963條經驗 獲得超6個贊

您可以使用


df[~df['text'].str.contains(r'[^\x00-\x7F]')]

熊貓測試:


import pandas as pd

df = pd.DataFrame({'text': ['hi what are you saying?', 'ご承知のとおり、殘念ながら悪質な詐欺が増加しているようですのでお気を付けください。'], 'another_col':['demo 1', 'demo 2']})

df[~df['text'].str.contains(r'[^\x00-\x7F]')]

#                      text another_col

# 0  hi what are you saying?      demo 1

筆記:


df['text'].str.contains(r'[^\x00-\x7F]')text查找列中包含 ASCII 字符以外的字符的所有值(這是我們的“掩碼”)

df[~...]只保留那些與正則表達式不匹配的行。


查看完整回答
反對 回復 2023-09-05
?
呼如林

TA貢獻1798條經驗 獲得超3個贊

str.contains()返回一系列布爾值,我們可以用它們來索引我們的框架

patternDel?=?"[^\x00-\x7F]"
filter?=?df['Event?Name'].str.contains(patternDel)

我傾向于保留我們想要的東西而不是刪除行。由于過濾器代表我們要刪除的內容,因此我們使用 ~ 來獲取所有不匹配的行并保留它們

df?=?df[~filter]


查看完整回答
反對 回復 2023-09-05
  • 2 回答
  • 0 關注
  • 204 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號