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 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
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
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
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
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.