我有一个类似的系列:
A 2
B 3
C 4
还有一个像这样的 DataFrame:
A B C
0 1 2 3
1 4 5 6
2 7 8 9
我想将系列分配给数据框中的所有行。这是预期的输出:
A B C
0 2 3 4
1 2 3 4
2 2 3 4
因为我能做到
for col in ser.index:
df[col] = ser[col]
但是什么是更有效的方法呢?
最佳答案
使用 pandas.DataFrame.div
和 mul
:
df.div(df).mul(s)
或者使用 numpy.tile
更快(iff df.columns == s.index
):
pd.DataFrame(np.tile(s, (len(df), 1)), columns=df.columns)
输出:
A B C
0 2.0 3.0 4.0
1 2.0 3.0 4.0
2 2.0 3.0 4.0
关于python - 将系列广播到 DataFrame,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59762934/