python初学者必会的9个技巧

今天来分享 9 个 python 常用技巧,如果觉得不错,点赞,转发安排起来。

一、列表推导

列表推导式允许你访问列表的各个元素并对其执行操作。

greenhouse = ['boat orchid', 'bird\'s nest fern', 'dancing-lady orchid',              'nun\'s hood orchid', 'pennywort', 'snake plant',               'maidenhair fern', 'chinese ground orchid',               'vanilla orchid', 'tiger orchid', 'pothos']              [print(plant) for plant in greenhouse if 'orchid' in plant];
二、单行 if 语句

与前面的技巧一样,单行 if 可以帮助你,使代码更简洁。

此代码将单行 if 与列表推导结合起来,在植物是兰花的情况下输出 1,否则输出 0。

[1 if 'orchid' in plant else 0 for plant in greenhouse]

输出为:

[1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 0]
三、将 lambda 函数 应用于 DataFrame 列

pandas DataFrame 是一种可以保存表格数据的结构。 lambda 是一个关键字,它提供了对表中的值执行操作的快捷方式。

import pandas as pddata = pd.DataFrame({'plant': greenhouse,                  'height_(cm)': [50, 20, 15, 40, 50,                                    60, 45, 50, 50, 20, 20],                  'condition': ['full sun', 'shade', 'partial sun', 'partial sun', 'partial sun',                                 'full sun', 'shade', 'partial sun', 'full sun', 'partial sun', 'full sun'],                  'water_(cm/week)': [2.5, 4, 2.5, 2.5, 3,                                   0.5, 4.5, 2.5, 2, 2.5, 2.5],                  'music': ['bach', 'bach', 'beyonce', 'bach', 'cardi b',                             'nicki', 'bach', 'bach', 'vivaldi', 'cardi b', 'bach']})

输出为:

                    plant  height_(cm)    condition  water_(cm/week)    music0             boat orchid           50     full sun              2.5     bach1        bird's nest fern           20        shade              4.0     bach2     dancing-lady orchid           15  partial sun              2.5  beyonce3       nun's hood orchid           40  partial sun              2.5     bach4               pennywort           50  partial sun              3.0  cardi b5             snake plant           60     full sun              0.5    nicki6         maidenhair fern           45        shade              4.5     bach7   chinese ground orchid           50  partial sun              2.5     bach8          vanilla orchid           50     full sun              2.0  vivaldi9            tiger orchid           20  partial sun              2.5  cardi b10                 pothos           20     full sun              2.5     bach

假设我们想知道植物是否更喜欢某个德国古典作曲家。

data['music'].apply(lambda x: 1 if x == 'bach' else 0)

在这里插入图片描述

lambda 代表一个 “匿名函数”。它允许我们在不创建正式函数的情况下对 DataFrame 中的值执行操作。

四、将条件应用于多列

假设我们要确定哪些喜爱巴赫的植物也需要充足的阳光,因此我们可以将它们一起安排在温室中。

def sunny_shelf(col1, col2):        return  (1 if ((col1 == 'full sun') & (col2 == 'bach')) else 0)        data['new_shelf'] = data.apply(lambda x: sunny_shelf(x.condition, x.music), axis=1)

或者,我们可以将 np.where() 函数用于相同目的:

import numpy as npdata['new_shelf'] = np.where((data['condition'] == 'full sun')                              & (data['music'] == 'bach'), 1, 0)

在这里插入图片描述

numpy库 中的 where 函数 检查上面指定的两个条件(即,植物喜欢阳光充足和日耳曼古典音乐)并将输出分配给 “new_shelf” 列。

五、读入 .csv 文件并设置索引

可以通过 read_csv() 函数来读取 csv 格式的数据。

假设 csv 文件中包含一个唯一的植物标识符,我们希望将其用作 DataFrame 中的索引。我们可以使用 index_col 参数进行设置

data = pd.read_csv('greenhouse.csv', index_col='plant_id')

图片

六、格式化价格

我们在这些植物上花了多少钱?让我们将此计算的输出格式化为货币格式。

'${:,.2f}'.format(data['price'].sum())

输出为:

'$16,126.66'

七、创建数据透视表

接下来,假设我们想查看每个植物物种的花费。我们可以使用 pd.pivot_table() 或 .groupby()进行聚合。

pd.pivot_table(data, index='plant', values='price', aggfunc=np.sum)

或者

data[['plant','price']].groupby(by='plant').sum()

图片

我们还可以使用任一方法指定多级数据透视表

data['orchid'] = data['plant'].apply(lambda x: 1 if 'orchid' in x else 0)piv = pd.pivot_table(data2, index=['orchid', 'plant'], values='price', aggfunc=np.sum)piv0 = data[['orchid','plant','price']].groupby(by=['orchid','plant']).sum()

图片

八、计算占总数的百分比

好奇每种植物对温室总成本的贡献?将每个值除以所有行的总和,并将该输出分配给名为 “perc” 的新列:

piv['perc'] = piv['price'].div(piv['price'].sum(axis=0))

图片

九、 按多列排序
piv.sort_values(['orchid','price'], ascending=False)

图片

最后

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后给大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

如果需要可以点击链接免费领取或者滑到最后扫描二v码

👉[CSDN大礼包:《python学习路线&全套学习资料》免费分享]安全链接,放心点击

👉Python学习大纲👈

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

在这里插入图片描述

👉Python实战案例👈

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

温馨提示:篇幅有限,已打包文件夹,获取方式在:文末

在这里插入图片描述

在这里插入图片描述

👉Python书籍和视频合集👈

在这里插入图片描述

👉Python面试刷题👈

👉Python副业兼职路线👈

在这里插入图片描述

这份完整版的Python全套学习资料已经上传CSDN,朋友们如果需要可以点击链接免费领取或者保存图片到wx扫描二v码免费领取保证100%免费

👉[CSDN大礼包:《python学习路线&全套学习资料》免费分享]安全链接,放心点击

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值