熊猫从两列中获取随机值

问题描述 投票:0回答:1

示例数据框:

df = pd.DataFrame({
    'audio': ['audio1', 'audio2', 'audio3'],
    'col1': ['A', 'B', 'C'],
    'col2': ['D', 'E', 'F']
})

我需要像这样从eaxh行中随机获取列“ audio”的值和col1或col2的值:

audio  value (value is random value from col1 or col2)
audio1 A
audio2 E
audio3 C
python pandas dataframe
1个回答
0
投票

这是基于numpy的方法:

v = df[['col1', 'col2']].values
ix = np.random.randint(0,v.shape[1],df.shape[0])
df['value'] = np.take_along_axis(v, ix[:,None], 1)

print(df)

    audio  col1 col2 value
0  audio1    A    D     D
1  audio2    B    E     E
2  audio3    C    F     C
© www.soinside.com 2019 - 2024. All rights reserved.