以下を仮定しますDataFrame
。
'user' 'val_A' 'val_B'
'A' '1' '2'
'A' '1' '2'
'B' '3' '2'
'B' '3' '2'
列内の単一の値を取得するにはどうすればよいですval_A
か?val_B
GroupBy user
ありがとう
以下を仮定しますDataFrame
。
'user' 'val_A' 'val_B'
'A' '1' '2'
'A' '1' '2'
'B' '3' '2'
'B' '3' '2'
列内の単一の値を取得するにはどうすればよいですval_A
か?val_B
GroupBy user
ありがとう
たぶんdrop_duplicates()
:
import pandas as pd
from StringIO import StringIO
data = """'user' 'val_A' 'val_B'
'A' '1' '2'
'A' '1' '2'
'B' '3' '2'
'B' '3' '2'""".replace("'", "")
df = pd.read_csv(StringIO(data), delim_whitespace=True)
print df.drop_duplicates()
出力:
user val_A val_B
0 A 1 2
2 B 3 2
または groupby が必要な場合:
print df[["val_A", "val_B"]].groupby(df["user"]).drop_duplicates()
出力:
val_A val_B
user
A 0 1 2
B 2 3 2