Python 如何在Pandas中使用rstrip删除列中的字符串部分?
rstrip前的代码Python 如何在Pandas中使用rstrip删除列中的字符串部分?,python,string,pandas,Python,String,Pandas,rstrip前的代码 column_names = lh_Area_Base_V2.columns.tolist() for i, val in enumerate(column_names[1:]): column_names[i+1] += '_Base_V2' column_names[0] = 'Subj_ID' # Replace the column names with a new name lh_Area_Base_V2.columns = column_names lh
column_names = lh_Area_Base_V2.columns.tolist()
for i, val in enumerate(column_names[1:]):
column_names[i+1] += '_Base_V2'
column_names[0] = 'Subj_ID'
# Replace the column names with a new name
lh_Area_Base_V2.columns = column_names
lh_Area_Base_V2.head()
带rstrip的代码(从第一列值末尾删除“\u V2”):
错误:为什么ID索引#1的末尾删除了一个值2,而rstrip函数没有请求该值(该函数只请求删除“#V2”)
我很想听到任何关于修复的建议。这是以下人员的预期行为: chars参数是一个字符串,指定要删除的字符集 它不仅剥离字符串
\u V2
,还将剥离包含的任何字符,包括第二行末尾的2
相反,您可以使用正则表达式替换尾随的\u V2
:
df.assign(Subj_ID=df.Subj_ID.str.replace(r'_V2$', ''))
Subj_ID lh_bankssts_area_base_V2
0 SILVA001 861
1 SILVA002 1051
2 SILVA004 1127
3 SILVA005 1346
4 SILVA007 1209
这是以下人员的预期行为: chars参数是一个字符串,指定要删除的字符集 它不仅剥离字符串
\u V2
,还将剥离包含的任何字符,包括第二行末尾的2
相反,您可以使用正则表达式替换尾随的\u V2
:
df.assign(Subj_ID=df.Subj_ID.str.replace(r'_V2$', ''))
Subj_ID lh_bankssts_area_base_V2
0 SILVA001 861
1 SILVA002 1051
2 SILVA004 1127
3 SILVA005 1346
4 SILVA007 1209
请将数据帧作为文本而不是图像发布
rstrip()
从字符列表中删除任何内容,而不是全部内容。例如“Hello”.rstrip('Ao2')
返回“Hell”
。我将此标记为重复,因为Pandasstr
方法行为完全模仿常规Python字符串方法。请将数据帧作为文本发布,而不是图像rstrip()
从字符列表中删除任何字符,而不是全部。例如“Hello”.rstrip('Ao2')
返回'Hell'
。我将此标记为重复,因为Pandasstr
方法行为完全模仿常规Python字符串方法。