📜  从系列到数据框的熊猫 - Python (1)

📅  最后修改于: 2023-12-03 14:49:26.979000             🧑  作者: Mango

从系列到数据框的熊猫 - Python

在 Python 中,Pandas 库是一个非常流行的数据分析工具。它可以帮助我们对大量的数据进行操作和分析。在 Pandas 中,最常用的数据结构是 Series 和 DataFrame。

Series

Series 是一个一维数组,可以保存任何数据类型(整数、字符串、浮点数、Python 对象等)。Series 由两个数组组成,一个数组是值,另一个数组是索引。可以通过下面的方法创建一个 Series:

import pandas as pd

# 创建一个 Series
s = pd.Series([1,3,5,np.nan,6,8])

# 输出 Series
print(s)

输出结果:

0     1.0
1     3.0
2     5.0
3     NaN
4     6.0
5     8.0
dtype: float64

注:在这个 Series 中,我们使用了 np.nan 来表示缺失值。

DataFrame

DataFrame 是一个二维表格,可以保存不同类型的数据(整数、字符串、浮点数、Python 对象等)。DataFrame 由行和列组成,可以像 Excel 表格一样操作。可以通过下面的方法创建一个 DataFrame:

import pandas as pd
import numpy as np

# 创建一个 DataFrame
df = pd.DataFrame({'A':1.,
                   'B':pd.Timestamp('20130102'),
                   'C':pd.Series(1,index=list(range(4)),dtype='float32'),
                   'D':np.array([3] * 4,dtype='int32'),
                   'E':pd.Categorical(["test","train","test","train"]),
                   'F':'foo'})

# 输出 DataFrame
print(df)

输出结果:

     A          B    C  D      E    F
0  1.0 2013-01-02  1.0  3   test  foo
1  1.0 2013-01-02  1.0  3  train  foo
2  1.0 2013-01-02  1.0  3   test  foo
3  1.0 2013-01-02  1.0  3  train  foo

注:在这个 DataFrame 中,我们使用了不同的类型来表示不同的列。

数据读取与写入

Pandas 可以读取和保存多种格式的数据,如 CSV、Excel、SQL 等。常用的读取方法是 read_csv(),写入方法是 to_csv()。下面是一个读取 CSV 文件的例子:

import pandas as pd

# 读取 CSV 文件
df = pd.read_csv('data.csv')

# 输出 DataFrame
print(df)

注:在读取 CSV 文件时,需要保证文件的编码与程序中的编码一致。

数据清洗与预处理

数据清洗和预处理是数据分析的重要部分。可以使用 Pandas 中的工具来处理缺失值、删除重复行、转换数据类型等。下面是一些常用的方法:

处理缺失值
import pandas as pd
import numpy as np

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

# 原始 DataFrame
print(df)

# 删除带有缺失值的行
df.dropna()

# 填充缺失值
df.fillna(value=0)
删除重复行
import pandas as pd
import numpy as np

# 创建一个 DataFrame
df = pd.DataFrame({'A':['foo','bar','foo','bar'],
                   'B':[1,2,1,2]})

# 原始 DataFrame
print(df)

# 删除重复行
df.drop_duplicates()
转换数据类型
import pandas as pd
import numpy as np

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

# 原始 DataFrame
print(df)

# 转换数据类型
df = df.astype({'A': 'int32', 'B': 'float32', 'C': 'string'})

# 转换后的 DataFrame
print(df)