0
私はこのようなデータフレームを持っている:書き込み値遅すぎる
df1=
Customer | Item | Qty
----------------------
001 |A | 3
001 |B | 3
002 |C | 4
002 |D | 8
... |... |...
私はこのような形式にデータフレームを変換取得したい:私はを通じてこれを行う
df2=
Customer | A | B | C | D |...
-----------------------------
001 | 3 | 3 | 0 | 0 |...
002 | 0 | 0 | 4 | 8 |...
customer_list=list(set(df1.Custmer.values))
item_list=list(set(df1.Item.values))
df2=pd.DataFrame(columns=["Customer"]+item)
df2["Customer"]=customer_list
for index in df1.index:
df2.loc[df2["Customer"]==df1.loc[index,"Customer"],df1.loc[index,"Item"]]=df1.lic[index,"Qty"]
しかし、私の元のデータは非常に大きく、df1は1000000+個の行を持ち、プログラムが非常に遅くなります。私は、結果を得るための他の迅速な方法があるかどうかを知りたい。ありがとうございました!
あなたのnumpyの配列データは、パンダのデータフレームに配置される前にnumpyの多次元配列である場合は、行と列を転置する.Tを使用することができます。目的のために、データフレームに配置する前に、選択されたサブアレイを転置することが問題になります。 – mikey