我有一个包含元素列表这样一个数据帧的每个元素: 的Python:情节中列出了在一个数据帧与seaborn facetWrap
我有10个刺激值和每刺激16个试验。列表包含尖峰列车的尖峰振幅值。所以如果有例如列表中有两个值33和34,我的算法发现了两个33mV和34mV的尖峰。我想绘制所有这些值来获得我的数据印象。
目前我使用这些代码来获得该地块
flatui = ["#9b59b6", "#3498db", "#95a5a6", "#e74c3c", "#34495e", "#2ecc71"]
g = sns.FacetGrid(df, col='stimulus', col_wrap=5, sharey=True, sharex=True)
g.map(sns.swarmplot, 'trial', 'data', edgecolor="black", linewidth=.9, palette=flatui)
g.set_axis_labels('trials', '[ms]')
显然它并不绘制所有的值,但只有每个列表(一个意思呢?第一?我不知道)。你能帮我一次把所有的人都画出来吗?
建立我的数据框
trial_vec = np.tile(np.arange(16)+1, 10)
stimulus_vec = np.repeat([-2., -1.75, -1., -0.75, -0.5, 0.5, 1., 1.25, 1.75, 2.5 ], 16)
data_vec = np.random.randint(0, 16, size=160)
spi_amp = pd.DataFrame({'trial': trial_vec, 'stimulus': stimulus_vec, 'data': data_vec}).astype('object')
spi_amp["data"] = [np.random.rand(4).tolist() for i in range(160)]
spi_amp
在你最后的问题,你没有提供[MCVE。为什么不在这里?没有它,甚至很难理解这个问题。 – ImportanceOfBeingErnest
我同意。原因是我不知道如何将二维列表放入数据框,以便我可以复制我拥有的数据框。我创建了这样的数据向量:np.random.random((160,4)),但熊猫不接受这样的二维数组。 –
尝试类似'df = pd.DataFrame({“x”:np.linspace(0,1,50)}); df [“listcol”] = [np.random.rand(4).tolist()for i in range(50)]'。 – ImportanceOfBeingErnest