如何在使用python pandas的dataframe中删除特定列的%符号?

时间:2016-06-08 09:03:18

标签: python python-2.7 pandas dataframe

我的数据框有以下数据:

company,standard,returns
aaa,b1,10%
bbb,b2,20%

我必须从%列中删除returns

2 个答案:

答案 0 :(得分:4)

首先按indexing with str删除每个字符串的最后一个值,然后转换为intfloat

#if int values
print (df['returns'].str[:-1].astype(int))

#if flaot values
print (df['returns'].str[:-1].astype(float))

样品:

print (df)
  company standard returns
0    tata       b1     10%
1    dell       b2     10%

#if int values
df['returns'] = (df['returns'].str[:-1].astype(int))
print (df)
  company standard  returns
0    tata       b1       10
1    dell       b2       10

str.strip的另一个解决方案:

df['returns'] = (df['returns'].str.strip('%').astype(int))
print (df)
  company standard  returns
0    tata       b1       10
1    dell       b2       10

答案 1 :(得分:1)

使用矢量化str.replace

In [225]:
df['returns'] = df['returns'].str.replace('\%','')
df

Out[225]:
  company standard returns
0     aaa       b1      10
1     bbb       b2      20

您可以使用dtypeastype(int)

来投射astype(float)