[英]how to remove string after integer in a dataframe python
您可以使用.str.extract
提取 integer 部分
df['Score'] = df['Score'].astype(str).str.extract('(\d+)')
print(df) Name Score 0 a 90 1 b 80 2 c 95 3 d 20
您可以使用正則表達式替換所有非數字字符,然后轉換為 int。
import pandas as pd name_dict = { 'Name': ['a','b','c','d'], 'Score': ['90(subject to approval)',80,95,20] } df = pd.DataFrame(name_dict) df['Score'] = df['Score'].replace(r'[^0-9]+', '', regex=True) print(df)
Output:
Name Score 0 a 90 1 b 80 2 c 95 3 d 20
如果您只想刪除額外的 string 對於“名稱”==“a”的行,您可以使用:
import pandas as pd name_dict = { 'Name': ['a','b','c','d'], 'Score': ['90(subject to approval)',80,95,20] } df = pd.DataFrame(name_dict) df.loc[df['Name'] == 'a', 'Score'] = ( df.loc[df['Name'] == 'a', 'Score'].replace(r'[^0-9]+', '', regex=True) )
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.