我正试图在由.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')