gpt4 book ai didi

python - 如何从数据框列中的某些行中删除字符?

转载 作者:行者123 更新时间:2023-12-03 14:33:59 24 4
gpt4 key购买 nike

我有一个需要清理的大型数据框,作为示例,请查看此数据框

import pandas as pd

cars = {'Brand': ['Honda Civic','Toyota Corolla','Ford Focus','Audi A4','Suzuki'],
'Price': ['22000.T','25000.T','27000','.TPX','.NKM1']
}

df = pd.DataFrame(cars, columns = ['Brand', 'Price'])

print (df)
我想从单词的末尾删除 '.T',并且只删除 '.'从包含 的行的开头。
通过以下代码行,我可以删除“.T”
df['Price'].replace('.T', '', regex=True)
但它也从“.TPX”中删除了“T”
对此的任何建议表示赞赏。
0    22000
1 25000
2 27000
3 PX
4 .NKM1
Name: Price, dtype: object
也用于删除“。”,当我添加这一行时
f['Price'].replace('.', '', regex=True)
我得到了与预期不同的数据框
0    
1
2
3
4
Name: Price, dtype: object

最佳答案

另一种方法是使用 numpy.where ,并使用 str.startswith 满足您的条件和 str.endswith :

import numpy as np

p = df['Price'].str
df['Price'] = np.where(p.startswith('.'),p.replace('.','',regex=True),
np.where(p.endswith('.T'),p.replace('.T','',regex=True),p))
            Brand  Price
0 Honda Civic 22000
1 Toyota Corolla 25000
2 Ford Focus 27000
3 Audi A4 TPX
4 Suzuki NKM1

关于python - 如何从数据框列中的某些行中删除字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66709418/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com