Python.replace()不工作,尽管inplace=True

Python.replace()不工作,尽管inplace=True,python,pandas,Python,Pandas,我试图在由.read\u excel()制成的数据框上使用.replace()。尽管使用inplace=True并对拼写进行了三次检查(从原始excel文档粘贴副本),但该命令仍不起作用 我也尝试过使用df2=df1.replace('Visit 2:Day 1','Day 1')而不是使用inplace=True,但是测试csv总是带有'Visit 2:Day 1' 我在.sort\u值和.reset\u索引方面也有类似的功能失调(命令不起作用) 知道我做错了什么吗?感谢您的帮助!谢谢大家!

我试图在由
.read\u excel()
制成的数据框上使用
.replace()
。尽管使用inplace=True并对拼写进行了三次检查(从原始excel文档粘贴副本),但该命令仍不起作用

我也尝试过使用
df2=df1.replace('Visit 2:Day 1','Day 1')
而不是使用
inplace=True
,但是测试csv总是带有'Visit 2:Day 1'

我在
.sort\u值
.reset\u索引
方面也有类似的功能失调(命令不起作用)


知道我做错了什么吗?感谢您的帮助!谢谢大家!

您可以创建函数
create_frame
,而无需
inplace=True

如果使用
inplace=True
,它将从func
create\u frame
返回
None

同样地


当您使用
df2=df1.replace('Visit 2:Day 1','Day 1'))
时,它不会影响
df1

因此,如果不使用func,您可以这样做:

df1 = pd.read_excel(path)
df2 = df1.replace(('Visit 2: Day 1','Day 1'))
df2.to_csv('test.csv')

df1 = pd.read_excel(path)
df1.replace(('Visit 2: Day 1','Day 1'), inplace=True)
df1.to_csv('test.csv')

如果您在
replace
中使用
inplace=True
,那么它将返回
None
,并且您的
to_replace
参数似乎格式错误,您到底要替换什么?
import pandas as pd

def create_frame(path):
    df1 = pd.read_excel(path)
    return df1.replace(('Visit 2: Day 1','Day 1'))

df = create_frame('example.xlsx')
df.to_csv('test.csv')
df1 = pd.read_excel(path)
df2 = df1.replace(('Visit 2: Day 1','Day 1'))
df2.to_csv('test.csv')

df1 = pd.read_excel(path)
df1.replace(('Visit 2: Day 1','Day 1'), inplace=True)
df1.to_csv('test.csv')