আমার একটি ডেটাফ্রেম রয়েছে যেখানে কয়েকটি ঘরে একাধিক মানের তালিকা থাকে। একটি কক্ষে একাধিক মান সংরক্ষণ করার পরিবর্তে, আমি ডেটাফ্রেমটি প্রসারিত করতে চাই যাতে তালিকার প্রতিটি আইটেম তার নিজস্ব সারি (অন্যান্য সমস্ত কলামে একই মান সহ) পায়। সুতরাং আমি যদি:
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
আমি কীভাবে দীর্ঘ ফর্মে রূপান্তর করব, যেমন:
subject trial_num sample sample_num
0 1 1 0.57 0
1 1 1 -0.83 1
2 1 1 1.44 2
3 1 2 -0.01 0
4 1 2 1.13 1
5 1 2 0.36 2
6 1 3 1.18 0
# etc.
সূচকটি গুরুত্বপূর্ণ নয়, বিদ্যমান কলামগুলি সূচি হিসাবে সেট করা ঠিক আছে এবং চূড়ান্ত ক্রমটি গুরুত্বপূর্ণ নয়।
df.explode('samples')
সমাধান করতেও ব্যবহার করতে পারেন ।explode
আপাতত কেবল একটি কলাম বিস্ফোরিত সমর্থন করতে পারে।