私はこのようになりますDataFrame
あります行の値を使ってデータフレームを '解く'方法は?
DataFrame
「UNRAVEL」、およびクラスに関する情報を失うことなく、
extra_teaching
の情報を維持したいので、私はそれぞれの行で終わる
class passed failed extra_teaching
A11 1 2 0.5
A12 2 1 0.7
通過した個々の瞳孔。
のでDataFrame
はこのように見て終わる必要があります。
pass extra_teaching
1 0.5
0 0.5
0 0.5
1 0.7
1 0.7
0 0.7
私はiterrows()
を使用して、手動で新しいDataFrame
に行を追加することによって、おそらくを除いて、pandas
でこれを行う方法を見当がつかない - 誰もが持っていますまともな方法?
UPDATE:
、私は非常にエレガントではないが動作しているようですが、これを試してみました:
temp = []
df = df.set_index('class')
for idx in df.index:
row = df.loc[idx]
t = {'class': idx, 'extra_teaching': row['extra_teaching']}
for i in range(0, int(row['passed'])):
t['pass'] = 1
temp.append(t)
for i in range(0, int(row['failed'])):
t['pass'] = 0
temp.append(t)
df_exploded = pd.DataFrame(temp)
クラスあなたの作りますインデックス、それの各要素をループし、合計パスを計算する行ごとにed + failedが発生し、各行(例:各クラス)、それらのすべてを連結します。パスベクタを格納するクラスごとに列を導入することができます(例:この場合、[1 0 0]と[1 1 0]。そこからシンプルにするべきです。 – tschm
'class'、' passed'、 'failed'の3つのカラムはどうやって論理的に' pass'に変換されますか? – Stefan
@Stefan私たちは 'class'を無視します。データが何であるかを説明するだけです。 'pass'は常に' pass = 1'に変換され、 'failed'は常に' pass = 0'に変換されます。 – Richard