Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/282.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 熊猫-神经网络的快速数据帧转换(“gausrank”)_Python_Pandas_Dataframe_Transformation_Ranking - Fatal编程技术网

Python 熊猫-神经网络的快速数据帧转换(“gausrank”)

Python 熊猫-神经网络的快速数据帧转换(“gausrank”),python,pandas,dataframe,transformation,ranking,Python,Pandas,Dataframe,Transformation,Ranking,首先,谢谢你的帮助 我有大熊猫数据帧,我需要每个列的快速秩转换: 1] 如果列仅为0-1,则不执行任何操作 2] 每列的else: a] 在列中查找唯一的值 b] 分类 c] 对于列的每个元素,将其值替换为排序唯一排序列表中的位置 可选: d] 将此新值转换为间隔[-0.99,0.99] e] 将scipy.special.erfinv应用于每个元素以获得正态分布 当我需要注意速度的时候,我该如何处理熊猫呢 Thanx获取仅包含0或1的列: 将列类型转换为分类可以方便地处理步骤a、b和c: df

首先,谢谢你的帮助

我有大熊猫数据帧,我需要每个列的快速秩转换:

1] 如果列仅为0-1,则不执行任何操作

2] 每列的else:

a] 在列中查找唯一的值

b] 分类

c] 对于列的每个元素,将其值替换为排序唯一排序列表中的位置

可选:

d] 将此新值转换为间隔[-0.99,0.99]

e] 将scipy.special.erfinv应用于每个元素以获得正态分布

当我需要注意速度的时候,我该如何处理熊猫呢


Thanx

获取仅包含0或1的列:

将列类型转换为分类可以方便地处理步骤a、b和c:

df.some_column.astype('category').cat.codes
不幸的是,这似乎需要在列上循环应用,但是如果没有太多的列,这应该仍然相当快

只需减去每列的最小值,再除以最大值,即可完成重缩放。但是,由于每列的最小值为0,因此第一步是多余的

Scipy的erfinv可以只接受一个数据帧作为输入。但是,这些值必须介于-1和1之间(独占)。所以这个范围会更小

综合所有 结果是以下数据帧:

       val1      val2  val3
0 -2.751064 -0.304538     0
1 -0.304538  0.304538     1
2  0.304538 -2.751064     0
3  2.751064  2.751064     1

获取仅包含0或1的列:

将列类型转换为分类可以方便地处理步骤a、b和c:

df.some_column.astype('category').cat.codes
不幸的是,这似乎需要在列上循环应用,但是如果没有太多的列,这应该仍然相当快

只需减去每列的最小值,再除以最大值,即可完成重缩放。但是,由于每列的最小值为0,因此第一步是多余的

Scipy的erfinv可以只接受一个数据帧作为输入。但是,这些值必须介于-1和1之间(独占)。所以这个范围会更小

综合所有 结果是以下数据帧:

       val1      val2  val3
0 -2.751064 -0.304538     0
1 -0.304538  0.304538     1
2  0.304538 -2.751064     0
3  2.751064  2.751064     1

如果列仅为0-1。这只是在[0到1]之间浮动还是只在0到1s之间浮动?如果列仅为0-1,则它只是二进制的0或1。这只是在区间[0到1]内浮动还是只在0和1之间浮动?它只是二进制的0或1这是完美的!正是我需要的,非常感谢这太完美了!正是我需要的,非常感谢