Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/342.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 基于每列的值为行值编制索引_Python_Pandas_Dataframe - Fatal编程技术网

Python 基于每列的值为行值编制索引

Python 基于每列的值为行值编制索引,python,pandas,dataframe,Python,Pandas,Dataframe,我有一个8r x 10c的数据帧,我想通过将每行中的值除以其列中的第一个值来复制数据帧(即“索引”每列,第一个值=100) 所以如果我从 ColA ColB ColC 1000 2000 3000 2000 3000 9000 它会回来 ColA ColB ColC 100 100 100 200 150 300 是否有一个简单的命令来执行此操作,或者它是某种循环?您可以执行以下操作: >>> df / (df.iloc[0] / 100) ColA Co

我有一个8r x 10c的数据帧,我想通过将每行中的值除以其列中的第一个值来复制数据帧(即“索引”每列,第一个值=100)

所以如果我从

ColA ColB ColC
1000 2000 3000
2000 3000 9000
它会回来

ColA ColB ColC
 100  100  100
 200  150  300

是否有一个简单的命令来执行此操作,或者它是某种循环?

您可以执行以下操作:

>>> df / (df.iloc[0] / 100)
   ColA ColB ColC
0   100  100  100
1   200  150  300
df.iloc[0]
选择第一行。将其除以100,得到一行值以调整每列。最后,我们将整个数据帧除以这一新行值。默认情况下,分割沿轴0进行(即沿每列向下)


当你说“数据帧”时,一个等价的操作是
df/df.iloc[0]*100

,你的具体意思是什么?如果您使用的是其他数据结构,请告诉我们它是什么(列表列表、NumPy数组等)。对不起,是的--熊猫数据帧。示例中的第一列已除以10。。。是否应该除以1000(因为这是列中的第一个值)?我希望每个列中的第一个值都是100,其他所有值都要索引到该值。第一列的值是x/10,第二列的值是x/20,第三列的值是x/30(以此类推)。太棒了,谢谢。我知道必须有一个简单的方法来完成。iloc可以选择第一行,但除法失败。我想这是因为我缺乏Python知识,而且我缺少一些明显的东西,但是如果有人知道它不能像前面介绍的那样工作的原因,请告诉我。@WDCR:当您尝试除法时,是否会收到一条特定的错误消息?好的-应该在堆栈跟踪的底部有一条简短的错误消息,例如,以
ValueError
TypeError
或类似内容开头。它是什么?它说了什么?原来问题是一个隐藏的索引列。以另一种方式解决了这个问题,但似乎。iloc会奏效。