Maison >développement back-end >Tutoriel Python >Les huit méthodes d'import de données de Python, les maîtrisez-vous ?

Les huit méthodes d'import de données de Python, les maîtrisez-vous ?

WBOY
WBOYavant
2023-04-19 12:52:031724parcourir

Dans la plupart des cas, NumPy ou Pandas seront utilisés pour importer des données, donc avant de commencer, exécutez :

import numpy as np
import pandas as pd

Deux façons d'obtenir de l'aide

Souvent, vous ne savez pas grand-chose sur certaines méthodes de fonction pour le moment, Python fournit des informations d'aide pour utiliser rapidement les objets Python.

Utilisez la méthode info dans Numpy.

np.info(np.ndarray.dtype)

Les huit méthodes d'import de données de Python, les maîtrisez-vous ?

Fonction intégrée Python

help(pd.read_csv)

Les huit méthodes d'import de données de Python, les maîtrisez-vous ?

1. Fichier texte

1. Fichier texte brut

filename = 'demo.txt'
file = open(filename, mode='r') # 打开文件进行读取
text = file.read() # 读取文件的内容
print(file.closed) # 检查文件是否关闭
file.close() # 关闭文件
print(text)

Utiliser le gestionnaire de contexte -- avec

with open('demo.txt', 'r') as file:
print(file.readline()) # 一行一行读取
print(file.readline())
print(file.readline())

2. Données de formulaire : fichiers plats

Utilisez Numpy pour lire les fichiers plats

Les fonctions intégrées de Numpy traitent les données au niveau du langage C.

Un fichier plat est un fichier contenant des enregistrements sans structure de relation relative. (Prend en charge les fichiers de délimiteurs Excel, CSV et Tab)

Fichiers avec un seul type de données

La chaîne utilisée pour séparer les valeurs ignore les deux premières lignes. Lisez le type du tableau résultant dans les première et troisième colonnes.

filename = 'mnist.txt'
data = np.loadtxt(filename,
delimiter=',',
skiprows=2,
usecols=[0,2],
dtype=str)

  • Fichiers avec des types de données mixtes

Deux exigences strictes :

  • Ignorer les informations d'en-tête
  • Distinguer les coordonnées horizontales et verticales

filename = 'titanic.csv'
data = np.genfromtxt(filename,
 delimiter=',',
 names=True,
 dtype=None)

Les huit méthodes d'import de données de Python, les maîtrisez-vous ?

Utiliser Panda s pour lire des fichiers plats

filename = 'demo.csv' 
data = pd.read_csv(filename, 
 nrows=5,# 要读取的文件的行数
 header=None,# 作为列名的行号
 sep='t', # 分隔符使用
 comment='#',# 分隔注释的字符
 na_values=[""]) # 可以识别为NA/NaN的字符串

2. Feuille de calcul Excel

ExcelFile() dans Pandas est une classe très pratique et rapide dans Pandas pour lire des fichiers de tableaux Excel, en particulier lors de la manipulation de fichiers Excel contenant plusieurs feuilles. Très pratique.

file = 'demo.xlsx'
data = pd.ExcelFile(file)
df_sheet2 = data.parse(sheet_name='1960-1966',
 skiprows=[0],
 names=['Country',
'AAM: War(2002)'])
df_sheet1 = pd.read_excel(data,
sheet_name=0,
parse_cols=[0],
skiprows=[0],
names=['Country'])

Utilisez la propriété sheet_names pour obtenir le nom de la feuille à lire.

data.sheet_names

3. Fichier SAS

SAS (Statistical Analysis System) est un système logiciel d'application modulaire et intégré à grande échelle. Le fichier qu'il enregistre, sas, est un fichier d'analyse statistique.

from sas7bdat import SAS7BDAT
with SAS7BDAT('demo.sas7bdat') as file:
df_sas = file.to_data_frame()

4. Fichiers Stata

Stata est un logiciel statistique complet et intégré qui offre à ses utilisateurs une analyse de données, une gestion de données et un dessin de graphiques professionnels. Le fichier enregistré est un fichier Stata avec l'extension .dta.

data = pd.read_stata('demo.dta')

5. Fichiers marinés

Presque tous les types de données en python (listes, dictionnaires, ensembles, classes, etc.) peuvent être sérialisés à l'aide de pickle. Le module pickle de Python implémente le séquençage et la désérialisation des données de base. Grâce à l'opération de sérialisation du module pickle, nous pouvons enregistrer les informations sur l'objet exécuté dans le programme dans un fichier et les stocker de manière permanente grâce à l'opération de désérialisation du module pickle, nous pouvons créer l'objet enregistré par le dernier programme à partir du fichier.

import pickle
with open('pickled_demo.pkl', 'rb') as file:
 pickled_data = pickle.load(file) # 下载被打开被读取到的数据

L'opération correspondante est la méthode d'écriture pickle.dump().

6. Fichier HDF5

Le fichier HDF5 est un fichier de stockage de données multiplateforme courant. Il peut stocker différents types d'images et de données numériques et peut également être transféré sur différents types de machines. bibliothèque.

Les fichiers HDF5 ont généralement .h5​ ou .hdf5 comme suffixe, et un logiciel spécial est requis pour ouvrir le contenu du fichier d'aperçu.

import h5py
filename = 'H-H1_LOSC_4_v1-815411200-4096.hdf5'
data = h5py.File(filename, 'r')

7. Fichier Matlab

C'est un fichier avec le suffixe .mat dans lequel matlab stocke les données dans son espace de travail.

import scipy.io
filename = 'workspace.mat'
mat = scipy.io.loadmat(filename)

8. Base de données relationnelle

from sqlalchemy import create_engine
engine = create_engine('sqlite://Northwind.sqlite')

Utilisez la méthode table_names() pour obtenir une liste de noms de tables

table_names = engine.table_names()

1. Interrogez directement la base de données relationnelle

con = engine.connect()
rs = con.execute("SELECT * FROM Orders")
df = pd.DataFrame(rs.fetchall())
df.columns = rs.keys()
con.close()

Utilisez le gestionnaire de contexte -- with

with engine.connect() as con:
rs = con.execute("SELECT OrderID FROM Orders")
df = pd.DataFrame(rs.fetchmany(size=5))
df.columns = rs.keys()

2. Utilisez Pandas pour interroger la base de données relationnelle

df = pd.read_sql_query("SELECT * FROM Orders", engine)

Exploration des données

Une fois les données importées, les données seront initialement explorées, par exemple en vérifiant le type de données, la taille des données, la longueur et autres. informations de base. Voici un bref résumé.

1, tableaux NumPy

data_array.dtype# 数组元素的数据类型
data_array.shape# 阵列尺寸
len(data_array) # 数组的长度

2, Pandas DataFrames

df.head()# 返回DataFrames前几行(默认5行)
df.tail()# 返回DataFrames最后几行(默认5行)
df.index # 返回DataFrames索引
df.columns # 返回DataFrames列名
df.info()# 返回DataFrames基本信息
data_array = data.values # 将DataFrames转换为NumPy数组

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer