有没有"cleaner"方法来编写此代码?



第一次摆弄Pandas——很好奇,特别是我代码中的变量——继续迭代"df#"有意义吗?还是我应该继续重写"df"?或者如果有更优雅的方式,我错过了。

def func(csvfile):
df = pd.read_csv(csvfile)
df.columns = df.columns.str.replace(" ", "_")
df2 = df.assign(column3=df.column3.str.split(",")).explode(
"column3"
)
df3 = df2.assign(column2=df.column2.str.split("; ")).explode("column2")
df3["column2"] = df3["column2"].str.replace(r"(d+)", "", regex=True)
df4 = df3[df3["column2"].str.contains("value2") == False]
print(df4)

在黑暗中进行完整的拍摄,因为您无法提供任何工作,但我敢打赌,这是相同的:

def func(csvfile):
df = pd.read_csv(csvfile)
df.columns = df.columns.str.replace(" ", "_")
df.column2 = df.column2.str.split("; ")
df.column3 = df.column3.str.split(",")
df = df.explode(['column2', 'column3']) # Or maybe explode them one at a time? I have no idea what you're doing.
df.column2 = df.column2.str.replace(r"(d+)", "", regex=True)
df = df[~df.column2.str.contains("value2")]
return df
df = func(csvfile)
print(df)

最新更新