Introdução ao Python e prática

1. Gramática Básica

primeira linha de código

print("hello world!")

tipo de dados

  • Inteiros e Flutuantes
print(type(1000)) # <class 'int'>
print(type(1_000)) # <class 'int'>
print(type(1000.0)) # <class 'float'>
print(type(1e3)) # <class 'float'>
  • corda
print('1000')
print(type('1000')) # <class 'str'>
  • boleano
print(True, False)
print(type(True), type(False))  # <class 'bool'> <class 'bool'>

Variáveis ​​e atribuições

  • Não há necessidade de definir explicitamente os tipos de dados em python
a = 1
b = 2.0
c = '3'
d = True
print(a,b,c,d) 

Operação

  • operações numéricas
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
  • operação de string
c1 = 'radio'
c2 = 'mics'
print(c1 + c2)  # radiomics
  • operação booleana
d1 = True
d2 = False
print(d1 and d2, d1 or d2, not d1)
# False True False
  • julgamento condicional
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
  • percorrer
nameList = ['zhao','qian','sun','li']
for name in nameList:
    print(name)
# zhao
# qian
# sun
# li

2. Gerenciamento de pacotes Python (digite comandos no terminal)

  • Visualize as informações do pacote python especificado
pip show pynomo  # PyNomo 是做特征提取用的包
# Name: PyNomo
# Version: 0.3.3
# Summary: PyNomo - Python Nomograms
# Home-page: http://pynomo.org/
# Author: Leif Roschier
# Author-email: [email protected]
# License: GPL
# Location: d:\anaconda3\envs\lib\site-packages
# Requires:
# Required-by:
  • instalação do pacote Python
pip install pynomo
  • Instale a versão especificada do pacote Python
pip install pynomo==0.3.2
  • Baixe e instale o pacote Python do site espelho especificado
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pynomo
  • Atualizar pacotes python
pip install --upgrade pynomo
  • desinstalar pacote python
pip uninstall pynomo --yes
  • Veja todos os pacotes python
pip list

3. Manipulação de dados

● pacote de importação

# pip install -i https://pypi.tuna.tsinghua.edu.cn/simple openpyxl
import pandas as pd
import numpy as np
import openpyxl

● Use "\\" ou "/" para ler o caminho do
sistema de janelas de dados

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)

Ver dados

  • Nomes de colunas de dados (recursos de radiomics).columns

    print(data_a.columns)
    
  • Obter o número de linhas e colunas de dados.shape

    rows_a, cols_a = data_a.shape
    print(rows_a, cols_a)
    
  • Visualização rápida das primeiras n linhas de dados .head( 0a partir da linha)

    print(data_a.head(4))
    
  • Visualização rápida das últimas n linhas de dados.tail

    print(data_b.tail())
    
  • Exibir os dados da coluna especificada[列名]

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

Manipulação de dados

  • Nova coluna insert(adicionar rótulo)

    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())
    
  • Modificar dados da coluna (atribuição)

    data_b['label'] = 0
    print(data_b['label'])
    data_b['label'] = 1
    
  • Mesclar dadosconcat

    data = pd.concat([data_a, data_b], ignore_index = True)
    print(data.head())
    print(data.tail())
    
  • Embaralhamento de dadosshuffle .reset_index

    # pip install -i https://pypi.tuna.tsinghua.edu.cn/simple sklearn.utils
    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])
    
  • Visão externa.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
    
  • Excluir linhas/colunas que são todas NaN .dropna
    NaN = não é um número

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

    data.fillna(0, inplace = True)
    print(data)
    

おすすめ

転載: blog.csdn.net/zea408497299/article/details/125229585