替换熊猫数据框中的多个字符

时间:2019-12-25 08:28:50

标签: python pandas dataframe replace

trying to remove one character

我从网上抓取了这些数据,并希望删除第二列中的所有非整数字符,以便可以对其进行数学运算。

还有另一种方法可以删除一行中的所有方括号和逗号

2 个答案:

答案 0 :(得分:1)

您可以使用str.replace和字符类[(),]来去除括号和逗号。然后,当您想将此文本列用作数字数据时,请稍后使用to_numeric()

df['pop'] = df['pop'].str.replace('[(),]+', '', regex=True)

答案 1 :(得分:0)

我也建议您:它为每个元素创建一个新列:

df['pop1'] = pd.to_numeric(df['pop'].str.split(r'\D').str.get(1))
df['pop2'] = pd.to_numeric(df['pop'].str.split(r'\D').str.get(2))
df['pop3'] = pd.to_numeric(df['pop'].str.split(r'\D').str.get(3))

它建议您在“ pop”中始终具有相同的nbr元素。 使用相同的技术,您还可以在pop列中创建一个整数列表。取决于您要如何工作。 例如:

pop4 = []
for i in df['pop']:
    newstr = ''.join((ch if ch in '0123456789.-e'else ' ') for ch in i)
    listOfNumbers = [float(x) for x in newstr.split()]    
    pop4.append(listOfNumbers)

df['pop4']=pop4

sources

OFC,您可以诠释或浮动...