Pandas haben ihre Funktion in PolarenPython

Python-Programme
Anonymous
 Pandas haben ihre Funktion in Polaren

Post by Anonymous »

Hin und wieder komme ich an den Punkt, an dem ich die folgende Zeile ausführen muss:

Code: Select all

DF['is_flagged'] = DF['id'].isin(DF2[DF2['flag']==1]['id'])
Zum Beispiel:

Code: Select all

import polars as pl

df1 = pl.DataFrame({
'Animal_id': [1, 2, 3, 4, 5, 6, 7],
'age': [4, 6, 3, 8, 3, 8, 9] })

df2 = pl.DataFrame({
'Animal_id': [1, 2, 3, 4, 5, 6, 7],
'Animal_type': ['cat', 'dog', 'cat', 'cat', 'dog', 'dog', 'cat'] })
Ich frage mich, wie ich es einfach in Polarzahlen umwandeln kann, ohne Flag und dann .join() zu verwenden.

Code: Select all

def isin_pandas_example(df1, df2):
df2.loc[df2['Animal_type'] == 'dog', 'dog'] = 1
df1['is_dog'] = df2['Animal_id'].isin(df2[df2['dog'] == 1]['Animal_id']).astype(int)

return pl.from_pandas(df1)

Code: Select all

print(isin_pandas_example(df1.to_pandas(), df2.to_pandas()))
Erwartete Ausgabe:

Code: Select all

shape: (7, 3)
┌───────────┬─────┬────────┐
│ Animal_id ┆ age ┆ is_dog │
│ ---       ┆ --- ┆ ---    │
│ i64       ┆ i64 ┆ i64    │
╞═══════════╪═════╪════════╡
│ 1         ┆ 4   ┆ 0      │
│ 2         ┆ 6   ┆ 1      │
│ 3         ┆ 3   ┆ 0      │
│ 4         ┆ 8   ┆ 0      │
│ 5         ┆ 3   ┆ 1      │
│ 6         ┆ 8   ┆ 1      │
│ 7         ┆ 9   ┆ 0      │
└───────────┴─────┴────────┘
Ich habe versucht, die Funktion is_in() zu verwenden, aber das hat nicht funktioniert.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post