pandas-use-of-pd-merge (PD015)
源自 pandas-vet linter。
作用
检查 Pandas 对象上 pd.merge
的使用情况。
为什么这不好?
在 Pandas 中,.merge
方法(例如,在 DataFrame
对象上公开)和 pd.merge
函数(在 Pandas 模块上公开)是等效的。
为了保持一致性,建议首选在对象上调用 .merge
,而不是在 Pandas 模块上调用 pd.merge
,因为前者更符合习惯用法。
此外,pd.merge
不是一个方法,而是一个函数,这使得它无法在方法链中使用,而方法链是 Pandas 代码中的常见模式。
示例
import pandas as pd
cats_df = pd.read_csv("cats.csv")
dogs_df = pd.read_csv("dogs.csv")
rabbits_df = pd.read_csv("rabbits.csv")
pets_df = pd.merge(pd.merge(cats_df, dogs_df), rabbits_df) # Hard to read.
建议改为
import pandas as pd
cats_df = pd.read_csv("cats.csv")
dogs_df = pd.read_csv("dogs.csv")
rabbits_df = pd.read_csv("rabbits.csv")
pets_df = cats_df.merge(dogs_df).merge(rabbits_df)