在我的CSV文件中,我具有以下内容:
Name Installs
----|-------------------
|a 4+
|b 15+
|c 60+
|d 5+
如何使用pandas遍历“安装”列以删除最后的加号?并将内容保存到现有的CSV文件中。
答案 0 :(得分:1)
您可以使用df["Installs"].str.strip("+")
或str.rstrip("+")
例如:
import pandas as pd
df = pd.DataFrame({"Name": ['a', 'b', 'c', 'd'], "Installs": ["4+", "15+", "60+", "5+"]})
df["Installs"] = df["Installs"].str.strip("+")
print(df)
输出:
Installs Name
0 4 a
1 15 b
2 60 c
3 5 d
答案 1 :(得分:1)
import pandas as pd
df=pd.read_csv('csv_name.csv')
df['Installs']=df['Installs'].str.strip('+')
df.to_csv('output.csv',index=False)
答案 2 :(得分:0)
类似的事情应该起作用:
df = pd.read_csv("your_file_name_here.csv")
df["Installs"] = df["Installs"].apply(lambda x: x.replace("x","")
df.to_csv("your_new_file_path_here.csv")
答案 3 :(得分:0)
使用Series.str[:-1]
或将其切成薄片:
df['Installs']=df['Installs'].str[:-1]
现在:
print(df)
是:
Installs Name
0 4 a
1 15 b
2 60 c
3 5 d
如果要将它们作为整数,请执行以下操作:
df['Installs']=df['Installs'].str[:-1].astype(int)
答案 4 :(得分:0)
您也可以使用str.rstrip()
手动执行此操作:
with open('data.csv') as f, open('output.csv', mode='w') as o:
for line in map(str.rstrip, f):
o.write(line.rstrip('+') +'\n')
其中提供了以下 output.csv
: Name Installs
----|-------------------
|a 4
|b 15
|c 60
|d 5
您还可以在此处使用str.rsplit()
o.write(line.rsplit('+', 1)[0] + '\n')