Python中Pandas库教学(1)

Python中Pandas库教学(1)

什么是Pandas库?

Pandas是一个数据处理库,用于数据分析、数据清洗和数据转换等任务。它提供了快速、灵活和富有表现力的数据结构,可以方便地进行数据操作和分析。

安装Pandas库

在安装Pandas库之前,你需要安装Python。安装Python的方法可以在Python官网找到。

安装Pandas库的方法有两种:

1.使用pip工具安装:在命令行(windows+R+cmd)中运行以下命令:pip install pandas

2.使用conda工具安装:在命令行中运行以下命令:conda install pandas

导入Pandas库

在使用Pandas库之前,你需要导入它。可以使用以下代码导入Pandas库:
import pandas as pd

Pandas库的数据结构

Pandas库提供了两种主要的数据结构:SeriesDataFrame

Series

Series是一种类似于一维数组的数据结构,它可以存储任意类型的数据,例如数字字符串Python对象等。Series的重要特性是它具有索引,它可以让你对数据进行标记引用

你可以使用以下代码创建一个Series:

import pandas as pd

data = [1, 2, 3, 4, 5]
s = pd.Series(data)
print(s)

输出结果:

0    1
1    2
2    3
3    4
4    5
dtype: int64

DataFrame

DataFrame是一种二维表格数据结构,它可以存储多种类型的数据,例如数字字符串Python对象等。DataFrame的重要特性是它具有行索引和列索引,它可以让你对数据进行标记引用

你可以使用以下代码创建一个DataFrame:

import pandas as pd

data = {
    'name': ['Alice', 'Bob', 'Charlie', 'David'],
    'age': [25, 32, 18, 47],
    'city': ['New York', 'Paris', 'London', 'Tokyo']
}

df = pd.DataFrame(data)
print(df)

输出结果:

       name  age      city
0     Alice   25  New York
1       Bob   32     Paris
2   Charlie   18    London
3     David   47     Tokyo

Pandas库的数据操作

Pandas库提供了各种数据操作方法,例如数据筛选数据排序数据统计等。

数据筛选

你可以使用以下代码选择DataFrame中的特定列:

import pandas as pd

data = {
    'name': ['Alice', 'Bob', 'Charlie', 'David'],
    'age': [25, 32, 18, 47],
    'city': ['New York', 'Paris', 'London', 'Tokyo']
}

df = pd.DataFrame(data)

# 选择'name'列
name_col = df['name']
print(name_col)

输出结果:

0      Alice
1        Bob
2    Charlie
3      David
Name: name, dtype: object

数据排序

你可以使用以下代码对DataFrame中的数据进行排序:

import pandas as pd

data = {
    'name': ['Alice', 'Bob', 'Charlie', 'David'],
    'age': [25, 32, 18, 47],
    'city': ['New York', 'Paris', 'London', 'Tokyo']
}

df = pd.DataFrame(data)

# 按照年龄升序排序
df = df.sort_values('age')

print(df)

输出结果:

       name  age      city
2   Charlie   18    London
0     Alice   25  New York
1       Bob   32     Paris
3     David   47     Tokyo

数据统计

你可以使用以下代码对DataFrame中的数据进行统计:

import pandas as pd

data = {
    'name': ['Alice', 'Bob', 'Charlie', 'David'],
    'age': [25, 32, 18, 47],
    'city': ['New York', 'Paris', 'London', 'Tokyo']
}

df = pd.DataFrame(data)

# 计算年龄的平均值
mean_age = df['age'].mean()

print('Mean age:', mean_age)

输出结果:

Mean age: 30.5

Pandas库的数据清洗

Pandas库提供了各种数据清洗方法,例如处理缺失值处理重复数据等。

处理缺失值

1.删除缺失值:可以使用==dropna()==函数删除包含缺失值的行或列。

import pandas as pd
df = pd.read_csv('data.csv')
df.dropna()   # 删除包含缺失值的行
df.dropna(axis=1)   # 删除包含缺失值的列

2.填充缺失值:可以使用==fillna()==函数将缺失值替换为指定值或用前一个或后一个值进行填充。

import pandas as pd
df = pd.read_csv('data.csv')
df.fillna(0)   # 将缺失值替换为0
df.fillna(method='ffill')   # 用前一个值进行填充
df.fillna(method='bfill')   # 用后一个值进行填充

3.插值缺失值:可以使用==interpolate()==函数通过线性或多项式插值方法填充缺失值。

import pandas as pd
df = pd.read_csv('data.csv')
df.interpolate(method='linear')   # 线性插值
df.interpolate(method='polynomial', order=2)   # 二次多项式插值

处理重复数据

1.查找重复行:利用函数duplicated定位重复行

import pandas as pd

# 创建一个包含重复行的DataFrame
data = {'Name': ['John', 'Jack', 'Alice', 'Bob', 'John'],
        'Age': [25, 30, 28, 22, 25]}
df = pd.DataFrame(data)

# 查找重复行
duplicate_rows_df = df[df.duplicated()]
print("重复行:")
print(duplicate_rows_df)

输出结果

重复行:
   Name  Age
4  John   25

2.删除重复行:利用函数drop_duplicates:

import pandas as pd

# 创建一个包含重复行的DataFrame
data = {'Name': ['John', 'Jack', 'Alice', 'Bob', 'John'],
        'Age': [25, 30, 28, 22, 25]}
df = pd.DataFrame(data)

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

输出结果:

   Name  Age
0  John   25
1  Jack   30
2  Alice  28
3  Bob   22

3.查找重复列:利用函数transpose进行行列转换

import pandas as pd

# 创建一个包含重复列的DataFrame
data = {'Name': ['John', 'Jack', 'Alice', 'Bob'],
        'Age': [25, 30, 28, 22],
        'Age': [30, 25, 22, 28]}
df = pd.DataFrame(data)

# 查找重复列
duplicate_cols_series = df.transpose().duplicated()
print("重复列:")
print(duplicate_cols_series[duplicate_cols_series])

输出结果:

1    True
dtype: bool

4.删除重复列:

import pandas as pd

# 创建一个包含重复列的DataFrame
data = {'Name': ['John', 'Jack', 'Alice', 'Bob'],
        'Age': [25, 30, 28, 22],
        'Age': [30, 25, 22, 28]}
df = pd.DataFrame(data)

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

输出结果:

   Name  Age
0  John   30
1  Jack   25
2  Alice  22
3  Bob   28
  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值