熊猫将一行中的一列复制到另一数据框中的多行中的一列

时间:2019-06-25 17:31:22

标签: python-3.x pandas

我有这个数据帧(df1)一行

SDL_Delay()

我有很多行的这个dataframe(df2)

renderer = SDL_CreateRenderer(window, -1, SDL_RENDERER_PRESENTVSYNC);

我想在df2中创建一个新列,并将来自第一个数据帧的值放在这个新列'val2'中

text   val1 val2
"test" 3    2

我已经在上面尝试了此代码。

text   val5 
"this" 1   
"is"   2
"test" 3    

但是,值只出现在这样的一行中

text   val5 val2
"this" 1    3
"is"   2    3
"test" 3    3

如何做到这一点?

1 个答案:

答案 0 :(得分:0)

实际上,我以不同的方式尝试了相同的方法。尝试以下代码:

mask = (df2['text'] == df1['text'][0])

import numpy as np

val2 = []

for data in mask:
    if data:
        val2.append(df1['val2'][0])
    else:
        val2.append(np.nan)

df2['val2'] = val2

现在,如果您查看数据框,则仅在与列值匹配的地方才有值。

Ouput:

    text    val5    val2
0   this    1   NaN
1   is      2   NaN
2   test    3   2.0

我希望有帮助。