我有两个dataframes,df1和df2,它们的列相同,但行号不同。
我想将它们按元素乘以,使最小的单元(df1)适合于最大单元的第一行(df2),并给出其余单元格的0。我试过df1.mul(df2),但这给了我一个满是NaNs的DataFrame。
有人能帮忙吗?
发布于 2021-02-19 10:18:17
如果只是乘以这两个数据,丢失的行将被填充NaN值(缺失值)。然后,您可以简单地将所有这些替换为0.0或任何值。
下面是一个示例:
In [1]: import pandas as pd
In [2]: df1 = pd.DataFrame(range(6), columns=["A"])
In [3]: df2 = pd.DataFrame(range(8), columns=["A"]) # different length
In [4]: df3 = df1 * df2
In [5]: df3 # Look at the Not-a-Number values
Out[5]:
A
0 0.0
1 1.0
2 4.0
3 9.0
4 16.0
5 25.0
6 NaN
7 NaN
In [6]: df3.fillna(0.0) # fill those NaN values with zero
Out[6]:
A
0 0.0
1 1.0
2 4.0
3 9.0
4 16.0
5 25.0
6 0.0
7 0.0https://datascience.stackexchange.com/questions/89581
复制相似问题