Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/341.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_Numpy - Fatal编程技术网

Python 熊猫数据帧分割系列

Python 熊猫数据帧分割系列,python,pandas,numpy,Python,Pandas,Numpy,我需要将矩阵df1的每一列划分为矩阵df2的一列。以获得具有维度df1的矩阵(3*2) 我需要一个结果:数据帧[[1/6,2/7,3/8],[3/6,4/7,5,8]] df1 = pd.DataFrame(data = [[1,2,3],[3,4,5]], index = ['a','b'], columns = ['i','ii','iii']) df2 = pd.DataFrame(data = [[6],[7],[8]], index = ['a','b','c'], columns =

我需要将矩阵
df1
的每一列划分为矩阵
df2
的一列。以获得具有维度df1的矩阵(3*2)


我需要一个结果:数据帧[[1/6,2/7,3/8],[3/6,4/7,5,8]]

df1 = pd.DataFrame(data = [[1,2,3],[3,4,5]], index = ['a','b'], columns = ['i','ii','iii'])
df2 = pd.DataFrame(data = [[6],[7],[8]], index = ['a','b','c'], columns = ['i'])

df1.div(df2, axis = 'columns')
=> does not work

for i in range(0,2)
    a = df1[df1.columns[i]] / df2
=> summarizes the result in one column

感谢您的帮助

您可以通过
系列
将其转换为数组,或转换为熊猫0.24+:

df = df1.div(df2['i'].values)
#pandas 0.24+
#df = df1.div(df2['i'].to_numpy())
print (df)
          i        ii    iii
a  0.166667  0.285714  0.375
b  0.500000  0.571429  0.625
这里有一个方法:

pd.DataFrame(df1.values/ df2.values.T, columns=df1.columns)

       i        ii      iii
0  0.166667  0.285714  0.375
1  0.500000  0.571429  0.625
系列:

s = pd.Series(df2.values.flatten().tolist(), index=df1.columns)
print(df1.div(s))

输出:

          i        ii    iii
a  0.166667  0.285714  0.375
b  0.500000  0.571429  0.625

按列划分?当然?我需要一个结果:dataframe[[1/6,2/7,3/8],[3/6,4/7,5,8]]好的,那么你想在DF1中划分行,别忘了你可以在这里上推所有答案@KrDanRod:)熊猫文档太糟糕了。你的帖子很有帮助。