天池 python 训练营 Task 01

本文概述了Python编程中的一些重要知识点,包括三元运算、字符串比较、集合操作、位运算、decimal模块的精确计算、类型定义、条件判断、输出控制、异常处理、循环与列表推导式等。同时,介绍了try-except语句、assert断言、切片操作及字典和列表的遍历方法,是Python初学者巩固基础知识的宝贵资料。

@ 天池python 训练营 Task 01

易忘知识点

1. 三元

变量  =  值1 if 条件成立 else 值2

2. 判断在数组里: in / not in, 是同一个字符串: is / not is 【判断地址】,== / != 【判断值】

地址不变 : str: is 等价于 ‘==’
地址变: 不一样了

3. pop函数在集合中是随即删除一个,IDE和非字符串类型删除左边第一个

4. bit_length() – 返回二进制的长度数

5. decimal – 精确计算

1. 使用decimal中的Decimal 对象
    import decimal -- 导入包
    from decimal import Decimal -- 从包中导入某个方法
2.  用Deciml对象进行计算
    c = Decimal(1) / Decimal(3)
3.  用decimal中的getcontext()方法中的prec属性界定精确值
    decimal.getcontext().prec = 4
4. 重新用Decimal对象求解的时候就只有4位小数了

6. 类型定义

基本类型:整型、浮点型、布尔型 -- 某个指定的值
容器类型:字符串、元组、列表、字典和集合 -- 存储多个对象的对象

7. 判断两个类型是否相同

isinstance(a, 类型)

8. 输出

1. 以CCC结尾
    print(a, end='CCC')
2. 以C为两个字符串之间的分隔符
    print(a, b, sep = 'C')

9. 二进制

正数 -- 原码反码补码均不变
负数 -- 原码 【最高位为1】, 反码 【除符号位全部取反】, 补码【反码 + 1】
按位取反 -- 补码全部取反【包括符号位】

10. assert - 断言, 后面条件为False 会抛出AssertionError 异常 – 用来单元测试

11. [: -1] 和 [:: -1] --b = a[i:j:s] – 复制a[i]-a[j]的数给b,中间缺省为s

s<0时,i缺省默认是-1, j缺省默认是 -len(a)-1
[:-1]即 复制从头到-1前的数, [::-1]即倒序

12. 循环输出列表 member = [‘11’, ‘22’, ‘33’]

1. 直接输出列表值 -- for i in member
2. 输出列表索引 -- for  i in range(len(member))
3. 输出索引和值 --  for index,member_id in enumerate(member)

13. 循环输出字典 dict = {‘a’: 1, ‘b’: 2}

1. 循环输出字典的键或值 -- for key, value in dict.items()
2. 循环输出字典的键 -- for key in dict.keys()
3. 循环输出字典的值 -- for value in dict.values()

14. range()函数 – range(第一个参数,第二个参数【不包含进】, 步长)

15. enumerate()函数 – 见12

16. pass - 占位符

17. 推导式

1. 列表推导式 -- [表达式 for 值 in 条件 if ]
    输出0 - 2 所有点的向量 -- a = [(i , j) for i in range(0, 3) for j in range(0, 3)]
2. 元组推导式 -- 列表外的中括号改为小括号即可

18. 异常 – 还要再看看

1. try except
2. try except finally
3. try except else 

19. raise语句 – 没太懂用法

### 关于天池平台上的Python数据分析大作业示例 在天池平台上,参与者经常通过Python完成复杂的数据分析任务。这些项目不仅展示了如何运用Python解决实际问题,还体现了多种技术和库的应用。 #### 使用Python进行数据预处理 对于任何数据分析竞赛而言,数据清洗和预处理都是必不可少的部分。这通常涉及到缺失值填充、异常值检测以及特征工程等方面的工作。例如,在某次比赛中,参赛者使用`pandas`库读取并清理CSV文件中的脏数据[^2]: ```python import pandas as pd # 加载原始数据集 data = pd.read_csv('raw_data.csv') # 查看前几行记录以了解数据结构 print(data.head()) # 填充缺失值 data.fillna(method='ffill', inplace=True) # 删除重复项 data.drop_duplicates(inplace=True) ``` #### 构建预测模型 为了从给定的数据集中提取有价值的信息,构建合适的机器学习模型至关重要。在这个过程中,除了依赖像Scikit-Learn这样的经典ML包外,还可以探索更高级别的深度学习框架如TensorFlow或PyTorch。下面是一段简单的线性回归实现代码片段[^3]: ```python from sklearn.model_selection import train_test_split from sklearn.linear_model import LinearRegression # 准备训练测试集划分 X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) # 初始化并拟合模型 model = LinearRegression() model.fit(X_train, y_train) # 输出模型性能指标 score = model.score(X_test, y_test) print(f'Model R^2 Score: {score:.4f}') ``` #### 结果展示与报告撰写 最后一步是将所得结论清晰直观地呈现出来。这里会用到诸如Matplotlib、Seaborn之类的绘图工具来创建图表辅助说明发现的趋势或模式。此外,Jupyter Notebook环境非常适合编写带有解释性和可视化组件的技术文档[^1]。 ```python import matplotlib.pyplot as plt import seaborn as sns plt.figure(figsize=(10, 6)) sns.scatterplot(x='feature_1', y='target_variable', data=data) plt.title('Feature vs Target Variable') plt.show() ```
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值