繁体   English   中英

如何根据索引将某个值分配到 Pandas 数据框中的新列中

[英]How to assign a certain value into a new column in a pandas dataframe depending on index

假设我有两个熊猫数据框,一个实际上更像是一个系列

import pandas as pd
import numpy as np
A = pd.DataFrame(index=[0, 1, 2], data=[[1, 2, 3], [4, 5, 6] ,[7,8,9]],columns=["I", "L","P"])
B = pd.DataFrame(index=[1, 3, 4], data=[[10], [40] ,[70]])

我想向 A 添加一个新列,称为“B”,其值取决于索引。 这意味着如果索引元素在 A 和 B 上共享,则应添加 B 的该行(对应于该索引)的值。 否则为 0。结果应该是这样的

A = pd.DataFrame(index=[0, 1, 2], data=[[1, 2, 3,0], [4, 5, 6,10] ,[7,8,9,0]],columns=["I", "L","P","B"])
A

如何在 Python/pandas 中有效地实现这一点?

reindex分配

A['B'] = B[0].reindex(A.index,fill_value=0)
A
Out[55]: 
   I  L  P   B
0  1  2  3   0
1  4  5  6  10
2  7  8  9   0

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM