Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/336.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:在dataframe中缩放列_Python_Pandas_Dataframe_Scaling - Fatal编程技术网

Python:在dataframe中缩放列

Python:在dataframe中缩放列,python,pandas,dataframe,scaling,Python,Pandas,Dataframe,Scaling,我得到了一个有几列的数据框。 每个列都需要使用单独的值进行缩放,我想知道是否有任何一个行可以在给定字典或其他内容的情况下缩放相应的列 例如。 scalingDictionary={a':10,'b':5,'c':0.1} df=pd.Dataframe({'a':[2,4,6,8],'b':[3,6,9,12],'c':[1,2,3,4]}) 一行缩放。。。其中,每列与字典中的所需值相乘 应提供所需的输出 a b c 20 15 0.1 40 30 0.2 60

我得到了一个有几列的数据框。 每个列都需要使用单独的值进行缩放,我想知道是否有任何一个行可以在给定字典或其他内容的情况下缩放相应的列

例如。 scalingDictionary={a':10,'b':5,'c':0.1} df=pd.Dataframe({'a':[2,4,6,8],'b':[3,6,9,12],'c':[1,2,3,4]})

一行缩放。。。其中,每列与字典中的所需值相乘 应提供所需的输出

a    b    c
20   15   0.1
40   30   0.2
60   45   0.3
80   60   0.4

具有字典的多个DataFrame,如果键与列名相同,则工作正常:

df = df.mul(scalingDictionary)    
print (df)
      a     b    c
0  20.0  15.0  0.1
1  40.0  30.0  0.2
2  60.0  45.0  0.3
3  80.0  60.0  0.4       
如果某些列不匹配:

scalingDictionary = {'a': 10, 'b': 5} 

df = pd.DataFrame({'a':[2,4,6,8], 'b':[3,6,9,12], 'c':[1,2,3,4]})

df = df.mul(pd.Series(scalingDictionary).reindex(df.columns, fill_value=1))
print (df)
    a   b  c
0  20  15  1
1  40  30  2
2  60  45  3
3  80  60  4
或:


键是否总是与列名称相同?
df = df.mul({**dict.fromkeys(df.columns, 1), **scalingDictionary})
print (df)
    a   b  c
0  20  15  1
1  40  30  2
2  60  45  3
3  80  60  4