栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python 入门及实践

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python 入门及实践

文章目录
  • 1. 基础语法
  • 2. python 包管理(在终端输入命令)
  • 3. 数据操作

1. 基础语法

第一行代码

print("hello world!")

数据类型

  • 整数和浮点数
print(type(1000)) # 
print(type(1_000)) # 
print(type(1000.0)) # 
print(type(1e3)) # 
  • 字符串
print('1000')
print(type('1000')) # 
  • 布尔型
print(True, False)
print(type(True), type(False))  #  

变量和赋值

  • python 中不需要显式定义数据类型
a = 1
b = 2.0
c = '3'
d = True
print(a,b,c,d) 

运算

  • 数值运算
a = 1
b = 2
p = a + b
q = a - b
r = a * b
s = a / b
print(p,q,r,s)  # 3 -1 2 0.5
  • 字符串运算
c1 = 'radio'
c2 = 'mics'
print(c1 + c2)  # radiomics
  • 布尔运算
d1 = True
d2 = False
print(d1 and d2, d1 or d2, not d1)
# False True False
  • 条件判断
a = 1
b = 1.0
if a == b:
    print('Equal.')
else:
    print('Not equal.')
# Equal.

a == 1
a = 1
if a > 1:
    print('a > 1')
elif a < 1:
    print('a < 1')
else:
    print(' a == 1')
# a == 1
  • 循环遍历
nameList = ['zhao','qian','sun','li']
for name in nameList:
    print(name)
# zhao
# qian
# sun
# li
2. python 包管理(在终端输入命令)
  • 查看指定 python 包信息
pip show pynomo  # PyNomo 是做特征提取用的包
# Name: PyNomo
# Version: 0.3.3
# Summary: PyNomo - Python Nomograms
# Home-page: http://pynomo.org/
# Author: Leif Roschier
# Author-email: lefakkomies@users.sourceforge.net
# License: GPL
# Location: d:anaconda3envslibsite-packages
# Requires:
# Required-by:
  • Python 包安装
pip install pynomo
  • 安装指定版本 Python 包
pip install pynomo==0.3.2
  • 从指定镜像站下载安装 Python 包
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pynomo
  • 升级 python 包
pip install --upgrade pynomo
  • 卸载 python 包
pip uninstall pynomo --yes
  • 查看所有 python 包
pip list
3. 数据操作

● 导入包

import pandas as pd
import numpy as np

● 读取数据
windows 系统的路径请使用 “\” 或 “/”

xlsx_a = '/Users/Desktop/data/aa.xlsx'
xlsx_b = '/Users/Desktop/data/bb.xlsx'
data_a = pd.read_excel(xlsx_a)
data_b = pd.read_excel(xlsx_b)

● 查看数据

  • 数据列名称(影像组学特征) .columns

    print(data_a.columns)
    
  • 获取数据行列数 .shape

    rows_a, cols_a = data_a.shape
    print(rows_a, cols_a)
    
  • 前 n 行数据快速查看 .head (从 0 行开始)

    print(data_a.head(4))
    
  • 后 n 行数据快速查看 .tail

    print(data_b.tail())
    
  • 查看指定列数据 [列名]

    print(data_a['A'])  # 列名'A'
    

● 数据操作

  • 新增列 insert(添加 label)

    rows_a, cols_a = data_a.shape
    rows_b, cols_b = data_b.shape
    labels_a = np.zeros(rows_a)  # 生成 a 行 0
    labels_b = np.ones(rows_b)   # 生成 b 行 1 (只有0和1可以这样写)
    data_a.insert(0, 'label', labels_a) # 第 0 列插入 label 列
    data_b.insert(0, 'label', labels_b)
    print(data_a.head())
    print(data_b.head())
    
  • 修改列数据 (赋值)

    data_b['label'] = 0
    print(data_b['label'])
    data_b['label'] = 1
    
  • 合并数据 concat

    data = pd.concat([data_a, data_b], ignore_index = True)
    print(data.head())
    print(data.tail())
    
  • 数据混序 shuffle .reset_index

    from sklearn.utils import shuffle
    
    data = shuffle(data)  # 将合并后的a,b数据随机混序
    data.reset_index(drop=True, inplace=True) 
    # 混序后重置索引 drop去掉原来的index, inplace替换新的index
    print(data["label"][0:10])
    
  • 异常值查看 .isna set_option

    # 制备异常值
    data['C'] = np.nan  # C、D 列改为 NaN = not a number
    data['D'] = np.nan
    data.loc[3:5] = np.nan  # 3,4,5行改为NaN
    data.loc[1, 'A'] = np.nan # 1行A列改为NaN
    data.loc[2, 'B'] = np.nan
    
    # 查看全部数据,不省略显示
    pd.set_option('display.max_rows', None) 
    pd.set_option('display.max_columns', None)
    print(data.isna()) # isna是否是NaN
    
  • 删除全部为 NaN 的行/列 .dropna
    NaN = not a number

    data.dropna(axis=0, how='all', inplace=True) 
    # axis=0 行,axis=1 列
    # how='all' 只删除全部都是NaN的行
    # inplace=True 对原数据操作,否则就是对副本操作
    print(data.head())
    
  • 将NaN值填 0 .fillna

    data.fillna(0, inplace = True)
    print(data)
    
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/965604.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号