python使用熊猫从df的每一行中删除起始字符$

python使用熊猫从df的每一行中删除起始字符$,python,pandas,Python,Pandas,我正在读取一堆文件作为数据帧。有些列的值存储为$1、$0等。 我想删除所有的美元符号(具有美元值的列名称和数字将因文件而异)。最有效的方法是什么 下面是一个示例df 我正在考虑使用iterrows。 对于df.iterrows()中的行: 然后可以检查行中的每个值,查看它是否以$开头,然后更改trim$并将其存储回数据框中 我不知道如何继续这种做法。任何帮助都是必要的 我认为您应该添加生成代码的方式,至少是获取这些变量的部分。我会对此发表评论,但我没有足够的观点 这不管用吗 for i in

我正在读取一堆文件作为数据帧。有些列的值存储为$1、$0等。 我想删除所有的美元符号(具有美元值的列名称和数字将因文件而异)。最有效的方法是什么 下面是一个示例df

我正在考虑使用iterrows。 对于df.iterrows()中的行:

然后可以检查行中的每个值,查看它是否以$开头,然后更改trim$并将其存储回数据框中

我不知道如何继续这种做法。任何帮助都是必要的


我认为您应该添加生成代码的方式,至少是获取这些变量的部分。我会对此发表评论,但我没有足够的观点

这不管用吗

for i in range(len(char)):
char[i] = char[i].replace('$', '')
replace函数将把$的字符串值更改为您需要的第二个字符串值。这可能是错误的,因为我不知道你是如何读取数据的

编辑: 对于pandas,pandas.replace()可能是解决方案

df['beginning'] = df['beginning'].replace({'$':''})

你只需要替换一个角色,对吗?这应该起作用:

df.columns中的功能的
:
df[feature]=df[feature].map(str).str.replace(“$”,“”).str.strip()

谢谢您的回复。我期待着用熊猫df做这件事。与其写两个循环,迭代每个值并更改itI,我还尝试了一个,并编辑了pandas解决方案的答案,您是否可以再次检查?再次感谢。您的方法的问题是以$开头的列数是可变的。因此将无法指定像df['start']=df['start']这样的名称。replace({'$':'''})我知道,您可以使用if条件检查整个变量,查看是否存在任何dolar符号,并且可以使用replace函数。然而,对于您的案例来说,这可能有点复杂。因为您可能有多个变量。如果有人遇到此问题,您会发现使用列表理解的更快方法:-对于df中的col.columns:df[col]=[x[1:]对于df[col]]x