我有一个数据框,其中一些单元格包含多个值的列表.我不想在单元格中存储多个值,而是扩展数据框,以便列表中的每个项目都有自己的行(在所有其他列中具有相同的值).所以,如果我有:
import pandas as pd
import numpy as np
df = pd.DataFrame(
{'trial_num': [1, 2, 3, 1, 2, 3],
'subject': [1, 1, 1, 2, 2, 2],
'samples': [list(np.random.randn(3).round(2)) for i in range(6)]
}
)
df
Out[10]:
samples subject trial_num
0 [0.57, -0.83, 1.44] 1 1
1 [-0.01, 1.13, 0.36] 1 2
2 [1.18, -1.46, -0.94] 1 3
3 [-0.08, -4.22, -2.05] 2 1
4 [0.72, 0.79, 0.53] 2 2
5 [0.4, -0.32, -0.13] 2 3
Run Code Online (Sandbox Code Playgroud)
如何转换为长格式,例如:
subject trial_num sample sample_num …Run Code Online (Sandbox Code Playgroud) 我希望将包含列表的pandas单元格转换为每个值的行.
所以,拿这个:
如果我想解压并堆叠'nearest_neighbors"列中的值,以便每个值都是每个'对手'索引中的一行,我最好怎么做呢?是否有适合像这样的操作的pandas方法这个?我只是不知道.
先谢谢你,伙计们.