使用带过滤器的熊猫写入 csv

nat*_*ien 2 python csv dataframe pandas

我正在使用 Pandas 库使用 Python 加载一个 csv 文件。

import pandas as pd
df = pd.read_csv("movies.csv")
Run Code Online (Sandbox Code Playgroud)

然后我检查特定值或语句的列,例如:

viewNum = df["views"] >= 1000
starringActorNum = df["starring"] > 3
df["title"] = df["title"].astype("str")
titleLen = df["title"].str.len() <= 10
Run Code Online (Sandbox Code Playgroud)

我想使用上述标准创建一个新的 csv 文件,但我不确定如何做到这一点以及如何将所有这些属性组合成一个 csv。

谁有想法?

unu*_*tbu 5

使用&(按位与)组合布尔掩码:

mask = viewNum & starringActorNum & titleLen
Run Code Online (Sandbox Code Playgroud)

选择dfwheremask为 True的行:

df_filtered = df.loc[mask]
Run Code Online (Sandbox Code Playgroud)

将 DataFrame 写入 csv:

df_filtered.to_csv('movies-filtered.csv')
Run Code Online (Sandbox Code Playgroud)
import pandas as pd

df = pd.read_csv("movies.csv")

viewNum = df["views"] >= 1000
starringActorNum = df["starring"] > 3
df["title"] = df["title"].astype("str")
titleLen = df["title"].str.len() <= 10

mask = viewNum & starringActorNum & titleLen
df_filtered = df.loc[mask]

df_filtered.to_csv('movies-filtered.csv')
Run Code Online (Sandbox Code Playgroud)