I need to find unique name, whose age=2 and and cond=9 using python pandas?
name | age | cond | cc |
---|---|---|---|
a | 2 | 9 | 3 |
b | 2 | 8 | 2 |
c | 3 | 9 | 1 |
a | 2 | 9 | 6 |
I need to find unique name, whose age=2 and and cond=9 using python pandas?
name | age | cond | cc |
---|---|---|---|
a | 2 | 9 | 3 |
b | 2 | 8 | 2 |
c | 3 | 9 | 1 |
a | 2 | 9 | 6 |
This will find all distinct rows where age = 2 and cond = 9
df.loc[(df['age'] == 2) & (df['cond'] == 9)][['name', 'cc']].drop_duplicates()
The Pandas query function allows for SQL-like queries to filter a data frame. Then use unique() on the results to return the unique name.
rows = df.query('age == 2 and cond == 9')
print(rows["name"].unique())
For more query examples, see here.
One potential solution is to put the columns in a zip()
and then iterate through your dataframe like so:
for name, age, cond in zip(df['name'], df['Age'], df['cond']):
if(age == 2 and cond ==9):
print(name)