Annuaire d'articles
1. Grammaire de base
première ligne de code
print("hello world!")
type de données
- Entiers et flottants
print(type(1000)) # <class 'int'>
print(type(1_000)) # <class 'int'>
print(type(1000.0)) # <class 'float'>
print(type(1e3)) # <class 'float'>
- chaîne
print('1000')
print(type('1000')) # <class 'str'>
- booléen
print(True, False)
print(type(True), type(False)) # <class 'bool'> <class 'bool'>
Variables et affectations
- Il n'est pas nécessaire de définir explicitement les types de données en python
a = 1
b = 2.0
c = '3'
d = True
print(a,b,c,d)
opération
- Opérations numériques
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
- opération de chaîne
c1 = 'radio'
c2 = 'mics'
print(c1 + c2) # radiomics
- opération booléenne
d1 = True
d2 = False
print(d1 and d2, d1 or d2, not d1)
# False True False
- jugement conditionnel
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
- faire une boucle
nameList = ['zhao','qian','sun','li']
for name in nameList:
print(name)
# zhao
# qian
# sun
# li
2. Gestion des packages Python (entrez les commandes dans le terminal)
- Afficher les informations du package python spécifié
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:
- Installation du paquet Python
pip install pynomo
- Installer la version spécifiée du package Python
pip install pynomo==0.3.2
- Téléchargez et installez le package Python à partir du site miroir spécifié
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pynomo
- Mettre à jour les packages Python
pip install --upgrade pynomo
- désinstaller le paquet python
pip uninstall pynomo --yes
- Afficher tous les packages Python
pip list
3. Manipulation des données
● package d'importation
# pip install -i https://pypi.tuna.tsinghua.edu.cn/simple openpyxl
import pandas as pd
import numpy as np
import openpyxl
● Veuillez utiliser "\\" ou "/" pour lire le chemin du
système de fenêtres de données
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)
● Afficher les données
-
Noms des colonnes de données (fonctionnalités Radiomics)
.columns
print(data_a.columns)
-
Obtenir le nombre de lignes et de colonnes de données
.shape
rows_a, cols_a = data_a.shape print(rows_a, cols_a)
-
Aperçu rapide des n premières lignes de données
.head
(0
à partir de la ligne)print(data_a.head(4))
-
Affichage rapide des n dernières lignes de données
.tail
print(data_b.tail())
-
Afficher les données de colonne spécifiées
[列名]
print(data_a['A']) # 列名'A'
● Manipulation des données
-
Nouvelle colonne
insert
(ajouter un libellé)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())
-
Modifier les données de la colonne (affectation)
data_b['label'] = 0 print(data_b['label']) data_b['label'] = 1
-
Fusionner les données
concat
data = pd.concat([data_a, data_b], ignore_index = True) print(data.head()) print(data.tail())
-
Mélange de données
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])
-
Vue des valeurs aberrantes
.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
-
Supprimer les lignes/colonnes qui sont toutes NaN
.dropna
NaN = pas un nombredata.dropna(axis=0, how='all', inplace=True) # axis=0 行,axis=1 列 # how='all' 只删除全部都是NaN的行 # inplace=True 对原数据操作,否则就是对副本操作 print(data.head())
-
Remplir les valeurs NaN avec 0
.fillna
data.fillna(0, inplace = True) print(data)