当我使用时: df = df.replace(oldvalue,newvalue) 它会替换文件,但是当我尝试将新数据框放入文本文件或csv文件时,它不会更新,并且继续是替换之前的原始输出。
我要从两个文件中获取数据,然后尝试将它们添加在一起。现在,我正在尝试更改格式以匹配原始格式。
我尝试更改替换的位置,并多次编辑df.replace命令以包含regrex = True,to_replace,value =和其他小东西。以下是一小段代码示例。
drdf['adg'] = adgvals #adds adg values into dataframe
for column, valuex in drdf.iteritems():
#value = value.replace('444.000', '444.0')
for indv in valuex:
valuex = valuex.replace('444.000', '444.0')
for difindv in valuex:
fourspace = ' '
if len(difindv) == 2:
indv1 = difindv + fourspace
value1 = valuex.replace(difindv, indv1)
drdf = drdf.replace(to_replace=valuex, value=value1)
#Transfers new dataframe into new text file
np.savetxt(r'/Users/username/test.txt', drdf.values, fmt='%s', delimiter='' )
drdf.to_csv(r'/Users/username/089010219.tot')
它应该替换值(例如用40(40个空格)替换40。在spyder界面中执行此操作,但不会转换为正在创建的文件。
答案 0 :(得分:0)
这就是我要使用map
的方式:
drdf['adg'] = adgvals #adds adg values into dataframe
for column, valuex in drdf.iteritems():
#value = value.replace('444.000', '444.0')
for indv in valuex:
valuex = valuex.map('444.000':'444.0')
for difindv in valuex:
fourspace = ' '
if len(difindv) == 2:
indv1 = difindv + fourspace
value1 = valuex.map(difindv:indv1)
drdf = drdf.replace(valuex,value1)
#Transfers new dataframe into new text file
np.savetxt(r'/Users/username/test.txt', drdf.values, fmt='%s', delimiter='' )
drdf.to_csv(r'/Users/username/089010219.tot')
答案 1 :(得分:0)
您尝试过吗:
df.replace(old, new, inplace=True)
在某些情况下,Inplace本质上会将新值替换为旧值。但是,我并不是声称知道就地的所有内部技术工作原理。