私はdf
次のようなデータフレームを持っています
Name1 Name2 ID1 ID2
0 John Jack 3 2
1 John Albert 3 0
2 Jack Eva 2 1
3 Albert Sara 0 4
4 Eva Sara 1 4
私は2つの列のデータフレームを希望df1
してID
各Name
df1
Name ID
0 Albert 0
1 Eva 1
2 Jack 2
3 John 3
4 Sara 4
pd.wide_to_long
と一緒DataFrame.drop_duplicates
に使用して、一意の値を取得できます。
(pd.wide_to_long(df.reset_index(), stubnames=['Name','ID'], i='index', j='ix')
.drop_duplicates().reset_index(drop=True))
Name ID
0 John 3
1 Jack 2
2 Albert 0
3 Eva 1
4 Sara 4
詳細
pd.wide_to_long
指定された:を使用して、2列のデータフレーム(Name
およびID
)を提供しますstubmanes
。
x = pd.wide_to_long(df.reset_index(), stubnames=['Name','ID'], i='index', j='ix')
Name ID
index ix
0 1 John 3
1 1 John 3
2 1 Jack 2
3 1 Albert 0
4 1 Eva 1
0 2 Jack 2
1 2 Albert 0
2 2 Eva 1
3 2 Sara 4
4 2 Sara 4
これdrop_duplicates
で、Name
-のID
組み合わせの一意の値を取得するだけで済みます。
Name ID
0 John 3
1 Jack 2
2 Albert 0
3 Eva 1
4 Sara 4
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加