Diretório de artigos
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
(0
a 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 dados
concat
data = pd.concat([data_a, data_b], ignore_index = True) print(data.head()) print(data.tail())
-
Embaralhamento de dados
shuffle
.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úmerodata.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)