Anonymous
Pandas haben ihre Funktion in Polaren
Post
by Anonymous » 08 Nov 2025, 17:22
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.
1762618948
Anonymous
Hin und wieder komme ich an den Punkt, an dem ich die folgende Zeile ausführen muss: [code]DF['is_flagged'] = DF['id'].isin(DF2[DF2['flag']==1]['id']) [/code] Zum Beispiel: [code]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'] }) [/code] Ich frage mich, wie ich es einfach in Polarzahlen [url=viewtopic.php?t=20495]umwandeln[/url] kann, ohne Flag und dann .join() zu verwenden. [code]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] [code]print(isin_pandas_example(df1.to_pandas(), df2.to_pandas())) [/code] Erwartete Ausgabe: [code]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 │ └───────────┴─────┴────────┘ [/code] Ich habe versucht, die Funktion is_in() zu verwenden, aber das hat nicht funktioniert.