我有一个尺寸为 2000 行 x 500 列
(不包括索引)的 DataFrame (df1),我想将每一行除以另一个尺寸为 1 的 DataFrame (df2)行 X 500 列
。两者都有相同的列标题。我试过了:
df.divide(df2)
和
df.divide(df2, axis='index')
和其他多种解决方案,我总是在每个单元格中得到一个带有 nan
值的 df。我在函数 df.divide
中缺少什么参数?
最佳答案
在df.divide(df2, axis='index')
中,需要提供df2的轴/行(例如df2.iloc[0]
)。
import pandas as pd
data1 = {"a":[1.,3.,5.,2.],
"b":[4.,8.,3.,7.],
"c":[5.,45.,67.,34]}
data2 = {"a":[4.],
"b":[2.],
"c":[11.]}
df1 = pd.DataFrame(data1)
df2 = pd.DataFrame(data2)
df1.div(df2.iloc[0], axis='columns')
或者你可以使用 df1/df2.values[0,:]
关于Python:将DataFrame的每一行除以另一个DataFrame向量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22642162/