簡體   English   中英

如何在 dataframe Z23EEEB4347BDD26BFC6B7EE9A3B75

[英]how to remove string after integer in a dataframe python

在此處輸入圖像描述 我想在 dataframe 中的整數(90)之后刪除字符串(需經批准)。

 import pandas as pd name_dict = { 'Name': ['a','b','c','d'], 'Score': ['90(subject to approval)',80,95,20] } df = pd.DataFrame(name_dict) print (df) df.set_index('Name').loc['a', 'Score']

您可以使用.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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM