Python 使用不同的列值重复数据帧

Python 使用不同的列值重复数据帧,python,pandas,Python,Pandas,我有以下数据框,需要为一组值重复这些值。也就是说 test3 = pd.DataFrame(data={'x':[1, 2, 3, 4, pd.np.nan], 'y':['a', 'a', 'a', 'b', 'b']}) test3 x y 0 1 a 1 2 a 2 3 a 3 4 b 4 NaN b 我需要做一些类似的事情,但更有效: test3['group'] = np.NaN groups = ['a', 'b'] dfs = [] for g

我有以下数据框,需要为一组值重复这些值。也就是说

test3 = pd.DataFrame(data={'x':[1, 2, 3, 4, pd.np.nan], 'y':['a', 'a', 'a', 'b', 'b']})
test3
    x  y
0   1  a
1   2  a
2   3  a
3   4  b
4 NaN  b
我需要做一些类似的事情,但更有效:

test3['group'] = np.NaN
groups = ['a', 'b']
dfs = []
for group in groups:
       temp = test3.copy()
       temp['group'] = group 
       dfs.append(temp)
pd.concat(dfs)
即,预期输出为:

    x  y group
0   1  a     a
1   2  a     a
2   3  a     a
3   4  b     a
4 NaN  b     a
0   1  a     b
1   2  a     b
2   3  a     b
3   4  b     b
4 NaN  b     b

这看起来对我很有效。你到底希望有什么不同?@tnknapp更高效的东西,也许是矢量化的。