我很难找到熊猫数据帧问题的解决方案。在
问题:按pandas数据帧中的行,如果单元格等于1,则将其替换为数据帧最后一列中的单元格值。我已经构建并填充了初始数据帧,但还不能继续下一步。在
数据帧:数据帧示例(初始和完成):
初始数据帧:
fNum 1 2 3 4 5 6 7 labelx
Index
1 1 0 1 1 1 0 0 0 2
2 1 0 0 1 1 0 0 0 2
4 1 0 0 0 0 0 1 0 3
5 1 0 0 0 0 0 0 0 0
6 1 0 0 1 0 0 0 0 3
7 1 0 0 0 1 0 0 0 3
1 2 0 1 0 0 0 0 0 2
2 2 1 1 1 0 0 0 0 2
3 2 1 1 1 0 0 0 0 2
4 2 1 1 0 0 0 0 0 2
5 2 0 0 0 0 1 0 0 0
6 2 0 0 0 0 1 1 1 3
7 2 0 0 0 0 1 1 1 3
完成的_数据帧:
^{pr2}$尝试的最新路径:
dfIX = Intitial_dataframe.ix[:, 2:8] #<--The "body" of the data
labelx_frame = Intitial_dataframe.ix[:, 8:9] #<-- The labelx column
dfIX[dfIX>0] = labelx_frame #<-- Attempt to replace values, nan instead
这将为所有先前为1的单元格提供nan。在
真诚的求助:
我对pandas和python非常陌生,花了几个小时反复阅读pandas和dataframe操作,但都没有结果。如有任何建议,我们将不胜感激!提前感谢您的时间和帮助。在
您也可以使用
numpy
来完成此操作。在还有,这个
^{pr2}$收益率
我重新创建了部分数据,因为输入数据最初是作为图片发布的,而不是可复制文本。我将让您根据您的具体数据调整此方法。在
下面是使用^{} 最简单、最易读的方法:
这里有另一种方法,但我只是将其作为Python“强大”的一个例子(我不知道这个词是否正确)。这实际上是我最初解决你的问题的方法,但我认为只提供这个就有点过分了。如果我是你,我更喜欢
^{pr2}$numpy.where
。但这只是为了演示:还有,看看那个!我们得到同样的答案。在
有关所有这些
**
的详细信息,请参见Unpacking generalizations in Python 3。它是合并词典的有效语法。在您还可以考虑这样做,基本上遍历
new_values
中每个列的对应列表:有很多方法可以剥这只猫的皮!在
相关问题 更多 >
编程相关推荐