试图在DataFrame中循环colums并剥离Dollar Sign

时间:2016-09-23 12:59:16

标签: python pandas dataframe

我的DataFrame有太多列,无法单独输入所有列。因此,我试图快速循环它们并摆脱美元符号和大量的逗号。这是我到目前为止的代码:

for column in df1:
    df1[column] = df1[column].str.lstrip('$')

我收到错误:

AttributeError:只能使用带有字符串值的.str访问器,它在pandas中使用np.object_ dtype

1 个答案:

答案 0 :(得分:3)

您可以使用select_dtypes仅过滤str列:

for col in df.select_dtypes([np.object]):
    df[col] = df[col].str.lstrip('$')

示例:

In [309]:
df = pd.DataFrame({'int':np.arange(3), 'float':[0.1,2.3,4.0], 'str':['$d', 'a$', 'asd']})
df

Out[309]:
   float  int  str
0    0.1    0   $d
1    2.3    1   a$
2    4.0    2  asd

In [310]:
for col in df.select_dtypes([np.object]):
    df[col] = df[col].str.lstrip('$')
df

Out[310]:
   float  int  str
0    0.1    0    d
1    2.3    1   a$
2    4.0    2  asd