[Capítulo 3 Introdução ao Python Machine Learning: criação, indexação, divisão, limpeza de dados, análise de dados, etc. de séries e dataframes]


Capítulo 1 Uso da biblioteca Pandas para começar a usar o aprendizado de máquina Python

Capítulo 2 Uso da biblioteca NumPy para introdução ao Python Machine Learning

Capítulo 3 Introdução à Série Python Machine Learning e Criação de DataFrame, Indexação, Divisão, Limpeza de Dados, Análise de Dados, etc.

Capítulo 4 Visualização de dados para introdução ao Python Machine Learning
Capítulo 5 Algoritmos de aprendizado de máquina para introdução ao Python Machine Learning
Capítulo 6 Projetos práticos para introdução ao Python Machine Learning
insira a descrição da imagem aqui

1. Crie séries

1. Criação da Série

Series é um array unidimensional que pode ser criado por:

Criar série da lista

Use a função pd.Series() para criar um objeto Series, especifique o parâmetro index para personalizar o índice e especifique o parâmetro dtype para especificar o tipo de dados. Por exemplo:

s = pd.Series([1, 2, 3, 4, 5], index=['a', 'b', 'c', 'd', 'e'], dtype=float)
print(s)

Resultado de saída:

a    1.0
b    2.0
c    3.0
d    4.0
e    5.0
dtype: float64

Você pode usar a função interna do Python list() para converter outros tipos de dados em listas, usar a função interna do Python range() para gerar uma sequência de números inteiros dentro de um determinado intervalo, usar as funções da biblioteca NumPy para gerar uma sequência de números aleatórios dentro de um determinado intervalo e usar a função interna do Python zip() combina várias listas em uma lista de tuplas.

Criar uma série a partir de um dicionário

Use a função pd.Series() para criar um objeto Series. A chave do dicionário será usada como o índice da Series, e o valor do dicionário será usado como os dados da Series. Você pode especificar o dtype parâmetro para especificar o tipo de dados. Por exemplo:

d = {
    
    'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}
s = pd.Series(d, dtype=float)
print(s)

Resultado de saída:

a    1.0
b    2.0
c    3.0
d    4.0
e    5.0
dtype: float64

Segundo, a criação do DataFrame

DataFrame é uma tabela bidimensional, que pode ser criada das seguintes formas:
WX search conta oficial: barra de carregamento de recursos
0R código de varredura atenção

因为我在学习过程中经常要找资料,而且很多要付费,所以干了个免费的资源分享平台。不要想太多,真的无偿,关注回复想要的资料即可

Compartilhamento gratuito de materiais populares de aprendizado de TI em 2023, vários tutoriais em várias plataformas, código-fonte
insira a descrição da imagem aqui

Criar DataFrame da lista

Use a função pd.DataFrame() para criar um objeto DataFrame, você pode especificar o parâmetro de colunas para personalizar o nome da coluna e especificar o parâmetro de índice para personalizar o índice. Por exemplo:

data = {
    
    'name': ['Alice', 'Bob', 'Charlie', 'David'], 'age': [25, 30, 35, 40], 'gender': ['F', 'M', 'M', 'M']}
df = pd.DataFrame(data, columns=['name', 'age', 'gender'], index=['a', 'b', 'c', 'd'])
print(df)

Resultado de saída:

a     Alice   25      F
b       Bob   30      M
c   Charlie   35      M
d     David   40      M

Outros tipos de dados podem ser convertidos em listas usando a função interna do Python list(), e várias listas podem ser combinadas em uma lista de tuplas usando a função integrada do Python zip().

Criar DataFrame do dicionário

Use a função pd.DataFrame() para criar um objeto DataFrame. A chave do dicionário será usada como o nome da coluna do DataFrame e o valor do dicionário será usado como os dados do DataFrame. Você pode especificar o colunas para personalizar o nome da coluna e especifique o parâmetro de índice para personalizar o índice. Por exemplo:

data = {
    
    'name': ['Alice', 'Bob', 'Charlie', 'David'], 'age': [25, 30, 35, 40], 'gender': ['F', 'M', 'M', 'M']}
df = pd.DataFrame.from_dict(data, orient='columns', columns=['name', 'age', 'gender'], index=['a', 'b', 'c', 'd'])
print(df)

Resultado de saída:

a     Alice   25      F
b       Bob   30      M
c   Charlie   35      M
d     David   40      M

3. Indexação e divisão

Indexação e divisão de séries

Use o operador [] para indexação, o método .loc[] para indexação de rótulo, o método .iloc[] para indexação de localização, a operação de fatia para operações de fatia e o índice booleano para operações de filtro. Por exemplo:

s = pd.Series([1, 2, 3, 4, 5], index=['a', 'b', 'c', 'd',

resultado de saída

1.0 1.0 1.0 b 2.0 c 3.0 d 4.0 e 5.0 dtype: float64

d 4.0 e 5.0 dtype: float64

Indexação e divisão de DataFrame

Use o operador [] para indexação, o método .loc[] para indexação de rótulo, o método .iloc[] para indexação de localização, a operação de fatia para operações de fatia e o índice booleano para operações de filtro. Por exemplo

import pandas as pd

data = {
    
    'name': ['Alice', 'Bob', 'Charlie', 'David'], 'age': [25, 30, 35, 40], 'gender': ['F', 'M', 'M', 'M']}
df = pd.DataFrame(data, columns=['name', 'age', 'gender'], index=['a', 'b', 'c', 'd'])

#索引
print(df['name'])

#标签索引
print(df.loc['a'])

#位置索引
print(df.iloc[0])

#切片
print(df[1:3])

#筛选
print(df[df['age'] > 30])
输出结果:

```csharp
a       Alice
b         Bob
c     Charlie
d       David
Name: name, dtype: object

name      Alice
age          25
gender        F
Name: a, dtype: object

name      Alice
age          25
gender        F
Name: a, dtype: object

       name  age gender
b       Bob   30      M
c   Charlie   35      M

       name  age gender
c   Charlie   35      M
d     David   40      M

4. Limpeza de dados

remover linhas duplicadas

Use o método .drop_duplicates() para remover linhas duplicadas em um DataFrame. Por exemplo:

import pandas as pd

data = {
    
    'name': ['Alice', 'Bob', 'Charlie', 'David', 'Bob'], 'age': [25, 30, 35, 40, 30], 'gender': ['F', 'M', 'M', 'M', 'M']}
df = pd.DataFrame(data, columns=['name', 'age', 'gender'])

# 删除重复行
df = df.drop_duplicates()
print(df)

Resultado de saída:

      name  age gender
0    Alice   25      F
1      Bob   30      M
2  Charlie   35      M
3    David   40

5. Substitua os valores vazios

Use o método .fillna() para substituir valores vazios em um DataFrame pelo valor especificado. Por exemplo

import pandas as pd

data = {
    
    'name': ['Alice', 'Bob', 'Charlie', 'David'], 'age': [25, None, 35, 40], 'gender': ['F', 'M', 'M', None]}
df = pd.DataFrame(data, columns=['name', 'age', 'gender'])

# 替换空值
df = df.fillna({
    
    'age': 30, 'gender': 'M'})
print(df)

Resultado de saída:

       name   age gender
0     Alice  25.0      F
1       Bob  30.0      M
2   Charlie  35.0      M
3     David  40.0      M

6. Conversão de tipo de dados

insira a descrição da imagem aqui

Em Pandas, a conversão de tipo de dados de Series e DataFrame pode usar o método astype(). O método astype() pode converter o tipo de dados em Series ou DataFrame para o tipo de dados especificado. Aqui está um código de exemplo:

import pandas as pd

# 创建一个Series
s = pd.Series(['1', '2', '3'])
print(s)

# 将Series中的数据类型转换为整型
s = s.astype(int)
print(s)

# 创建一个DataFrame
df = pd.DataFrame({
    
    'A': ['1', '2', '3'], 'B': ['4', '5', '6']})
print(df)

# 将DataFrame中的数据类型转换为整型
df = df.astype(int)
print(df)

Resultado de saída:

0    1
1    2
2    3
dtype: object
0    1
1    2
2    3
dtype: int64
  A  B
0  1  4
1  2  5
2  3  6
  A  B
0  1  4
1  2  5
2  3  6

7. Análise de Dados

insira a descrição da imagem aqui

No Pandas, a análise de dados de Series e DataFrame pode usar uma variedade de métodos, incluindo estatísticas descritivas, classificação, filtragem, agrupamento, agregação e outras operações. Aqui está um código de exemplo:

import pandas as pd

# 创建一个Series
s = pd.Series([1, 2, 3, 4, 5])

# 描述性统计
print(s.describe())

# 排序
print(s.sort_values(ascending=False))

# 筛选
print(s[s > 3])

# 创建一个DataFrame
df = pd.DataFrame({
    
    'A': [1, 2, 3, 4,{
    
    'A': [1, 2, 3, 4, 5], 'B': [6, 7, 8, 9, 10]})\n\n# 分组\ngrouped = df.groupby('A')\n\n# 聚合\nprint(grouped.aggregate(['sum', 'mean', 'max']))\n```\n\n输出结果:\n\n```\ncount    5.000000\nmean     3.000000\nstd      1.581139\nmin      1.000000\n25%      2.000000\n50%      3.000000\n75%      4.000000\nmax      5.000000\ndtype: float64\n4    5\n3    4\n2    3\n1    2\n0    1\ndtype: int64\n3    4\n4    5\ndtype: int64\n  B           
  sum mean max
A              
1  6.0  6.0   6
2  7.0  7.0   7
3  8.0  8.0   8
4  9.0  9.0   9
5  10.0 10.0  10

8. Resumo

Na introdução ao aprendizado de máquina Python, aprendemos a criação, indexação, fatiamento, limpeza de dados, análise de dados e outras operações de Series e DataFrame na biblioteca Pandas. A seguir, um resumo deste estudo:

Series é um array unidimensional que pode ser criado através de listas, dicionários, arrays, etc. As séries podem ser acessadas e modificadas por meio de índices e suportam operações de divisão.

DataFrame é uma tabela bidimensional que pode ser criada por listas, dicionários, arrays, etc. O DataFrame pode ser acessado e modificado pelo nome da coluna e índice da linha e oferece suporte à operação de divisão.

A limpeza de dados é o pré-trabalho da análise de dados, incluindo lidar com problemas como valores ausentes, valores repetidos e valores discrepantes. Pandas fornece uma variedade de métodos para limpeza de dados, como dropna(), fillna(), drop_duplicates(), replace(), etc.

A análise de dados é o trabalho central da mineração de dados, incluindo estatísticas descritivas, classificação, filtragem, agrupamento, agregação e outras operações. Pandas fornece uma variedade de métodos para análise de dados, como describe(), sort_values(), groupby(), agregate(), etc.

A visualização de dados é um importante meio de análise de dados, pois pode exibir distribuição de dados, tendências e outras informações por meio de gráficos. Pandas fornece métodos de visualização para vários tipos de gráficos, como plot(), hist(), scatter(), etc.

Resumindo, o Pandas é uma das ferramentas indispensáveis ​​no aprendizado de máquina Python. Dominar o uso do Pandas é muito importante para análise e mineração de dados.

Acho que você gosta

Origin blog.csdn.net/CDB3399/article/details/130672027
Recomendado
Clasificación