示例数据框:
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
这是基于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