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



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

import pandas as pd
def create_frame(path):
df1 = pd.read_excel(path)
return df1.replace(('Visit 2: Day 1','Day 1'), inplace = True)
df = create_frame('example.xlsx')
df.to_csv('test.csv')

我也试过使用df2 = df1.replace(('Visit 2: Day 1','Day 1'))而不是inplace = True,但测试csv总是显示"就诊2:第1天">

我对.sort_values.reset_index也有类似的功能障碍(命令不起作用(。

你知道我做错了什么吗?感谢所有的帮助!非常感谢。

您可以在没有inplace=True的情况下创建函数create_frame

如果使用inplace=True,它将从函数create_frame返回None

类似地,Pandas dataframe:set_index with inplace=True返回NoneType,为什么??

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')

当您使用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')

最新更新