5 个 Pandas 超级好用的隐藏技巧

科技   2024-07-30 18:40   浙江  

和老表一起学:

对于数据科学来说,Python 中最重要的库是什么?有些人可能认为是 scikit-learn,它提供了许多内置函数用于机器学习任务。部分人可能会选择 NumPy 进行数值运算。

但我还是支持 Pandas。为什么?如果你不使用它的功能,你的操作可能会寸步难行。Pandas 非常庞大,需要学习的东西很多。

在本文中,云朵君将分享五个鲜为人知的 Pandas 技巧。这些技巧初时对我来说非常新颖,需要经过大量研究才能掌握。强烈推荐关注@公众号:数据 STUDIO ,更多精选好文定期更新!

1. pipe() 方法链

.pipe() 方法链可以使代码更简洁、更高效。使用.pipe(),可以在一行中应用多个操作。

下面,我们将筛选市场价值高于 1,000,000 欧元的球员数据,并按排序market_value_in_eur,找出世界上最昂贵的球员。

# 这个 transfermarkt 数据集来自 Kaggle(https://www.kaggle.com/datasets/davidcariboo/player-scores)
def  filter_high_value_players ( df ): 
    return df[df[ 'market_value_in_eur' ] > 1000000 ] 

def  sort_by_market_value ( df ): 
    return df.sort_values( 'market_value_in_eur' , accending= False ) 

# 使用 .pipe() 进行方法链
filtered_sorted_df = df.pipe(filter_high_value_players).pipe(sort_by_market_value)

2. query()简化过滤

query()方法使得过滤数据帧更加容易。无需使用长条件,query()使代码更具可读性。

在这里,我们尝试寻找身价 5000 万欧元且身高超过 185 岁的足球运动员。

high_value_players_2022 = df2.query("market_value_in_eur > 50000000 和 height_in_cm == 185"
high_value_players_2022.head(5)

3. eval()加速计算

eval()函数可以为算术运算提速,特别是对于列式计算非常有用。

# 使用 eval() 计算百万市值
df[ 'market_value_in_millions' ] = df.eval ( 'market_value_in_eur / 1_000_000' ) 
# 删除 na df.dropna ( 
subset=[ 'market_value_in_millions' ], inplace= True ) 
# 从最高到最低升序
df.sort_values( "market_value_in_millions" , accending = False )[[ "name" , "market_value_in_millions" ]]

4. astype()优化数据类型

将列转换为Categorical数据类型可以节省内存并加快操作,并且如果在为机器学习算法处理数据时,这是该方法将是你最佳选择。

# 将 'player_club_domestic_competition_id' 转换为分类
df [ 'player_club_domestic_competition_id' ] = df [ 'player_club_domestic_competition_id' ].astype( 'category' )

5. assign()临时添加列

对于于临时更改数据列,可以使用assign()方法添加新列而不修改原始数据。

在这里可以看到球员的价值是否高于平均水平。

# 使用assign()添加一列,表示市场价值是否高于平均水平
df_with_new_col = df.assign(above_average = df[ 'market_value_in_millions' ] > df[ 'market_value_in_millions' ].mean()) 
df_with_new_col.head()

如果你觉得文章还不错,请大家点赞、分享、留言,因为这将是我持续输出更多优质文章的动力!

扫码加我微信,回复:监督老表

一起迎接AI时代

简说Python
号主老表,自学,分享Python,SQL零基础入门、数据分析、数据挖掘、机器学习优质文章以及学习经验。
 最新文章