我想根据列名替换来自另一系列的pandas数据帧中的值。我有foll。数据帧:
Y2000 Y2001 Y2002 Y2003 Y2004 Item Item Code
34 43 0 0 25 Test Val
我还有另一个系列:
^{pr2}$如何根据第二个系列中的值替换第一个数据帧中的值?在
--更多编辑: 要重新创建问题,代码和数据如下:umd.box.com/s/hqd6oopj6vvp4qvpwnj8r4lm3z7as4i3
运行代码的说明:
要运行此代码:
在配置中替换data_dir_旋转.txt输入目录的路径,即文件保存的位置
在配置中替换out_dir_旋转.txt使用您想要的任何输出路径
运行python code\crop_统计.py. 问题出在作物的第133行_统计.py
--编辑:
根据@Andy的查询,我想要的结果是:
Y2000 Y2001 Y2002 Y2003 Y2004 Item Item Code
41403766 45283735 47850796 38639101 45226813 Test Val
我试过了
df_a.replace(df_b)
但这不会改变df_a中的任何值
在重塑和覆盖列之后,可以从序列构造df:
所以这使用序列索引值从df中进行子选择,然后从同一个序列构造一个df,这里我们必须重塑数组以生成一个单行df
编辑
我上面的代码在你的真实代码上不起作用的原因首先是在分配时你不能这样做:
^{pr2}$这称为链式索引,并引发一个警告,请参阅docs。在
因此,要更正此问题,可以将列放在
^{3}$[]
中:另外,pandas会尝试沿着索引值和列名对齐,如果它们不匹配,那么您将得到
NaN
值,这样您就可以通过调用.values
来获得一个np数组,该数组将成为没有索引或列标签的匿名数据,只要数据形状是broadcast-able,那么它就会按照您的意愿进行操作:相关问题 更多 >
编程相关推荐