第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

從數據框中的字符串中刪除字符

從數據框中的字符串中刪除字符

慕哥9229398 2021-04-07 13:15:44
python初學者在這里。我想在某些條件下更改數據框的列中的某些字符。數據框如下所示:import pandas as pdimport numpy as npraw_data = {'name': ['Willard Morris', 'Al Jennings', 'Omar Mullins', 'Spencer McDaniel'],                      'age': [20, 19, 22, 21],                      'favorite_color': ['blue (VS)', 'red', 'yellow (AG)', "green"],                      'grade': [88, 92, 95, 70]}df = pd.DataFrame(raw_data, index = ['0', '1', '2', '3'])df我的目標是在列的姓氏中替換后跟括號和兩個字母的空格。藍色,而不是藍色(VS)。我必須刪除26個字母的變體,但是只有一種格式:last_name,后跟空格,后跟括號,然后是兩個字母,后跟括號。據我了解,應該是在regexp中:( \(..\)我嘗試使用str.replace,但它僅適用于完全匹配,并且替換了整個值。我也嘗試過這個:df.loc[df['favorite_color'].str.contains(‘VS’), 'favorite_color'] = ‘random’它也取代了整個價值。我看到我只能重寫該值,但是我也看到了使用以下代碼:df[0].str.slice(0, -5)我可以刪除包含搜索內容的字符串的最后5個字符。在我的腦海中,我應該列出要刪除的26個事件,并分析該列以刪除這些事件,同時保留之前的文本。我搜索了與我的問題類似的帖子,但找不到解決方案。您對方向有任何想法嗎?
查看完整描述

1 回答

?
梵蒂岡之花

TA貢獻1900條經驗 獲得超5個贊

您可以使用str.replace模式"(\(.*?\))"


前任:


import pandas as pd


raw_data = {'name': ['Willard Morris', 'Al Jennings', 'Omar Mullins', 'Spencer McDaniel'],

                      'age': [20, 19, 22, 21],

                      'favorite_color': ['blue (VS)', 'red', 'yellow (AG)', "green"],

                      'grade': [88, 92, 95, 70]}

df = pd.DataFrame(raw_data, index = ['0', '1', '2', '3'])

df["newCol"] = df["favorite_color"].str.replace("(\(.*?\))", "").str.strip()

print( df )

輸出:


   age favorite_color  grade              name  newCol

0   20      blue (VS)     88    Willard Morris    blue

1   19            red     92       Al Jennings     red

2   22    yellow (AG)     95      Omar Mullins  yellow

3   21          green     70  Spencer McDaniel   green


查看完整回答
反對 回復 2021-04-27
  • 1 回答
  • 0 關注
  • 210 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

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

公眾號

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