假设以下DataFrame
:
'user' 'val_A' 'val_B'
'A' '1' '2'
'A' '1' '2'
'B' '3' '2'
'B' '3' '2'
如何在列val_A
&列中获取单个值? val_B
后的GroupBy user
?
由于
答案 0 :(得分:2)
也许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