博客
关于我
pandas基本使用方法和表的合并
阅读量:682 次
发布时间:2019-03-17

本文共 1848 字,大约阅读时间需要 6 分钟。

pandas数据处理实例及其应用

一、pandas基础使用

在进行pandas数据处理之前,首先需要导入pandas库。以下示例展示了如何读取CSV文件并进行基本操作:

import pandas as pd
# 读取CSV文件,第一行为标题
df = pd.DataFrame(pd.read_csv("D:/test/test.csv", header=0))
# 可以选择指定编码方式(如中文需要设置编码)
df = pd.DataFrame(pd.read_csv("D:/test/test.csv", header=0, encoding='gbk'))

运行上述代码后,可以通过以下命令查看数据集信息:

print("Excel的文件信息:")
print(df.info())

要提取Excel中第一行数据,可以通过以下方式获取:

for key in df.keys():
print(key)
# 获取第一行数据
for value in df.values:
print(value)

二、数据处理操作

1. 统计字段数量

使用count方法可以统计每一行和每一列中缺失值的数量:

count_row = df.count(axis=1)
print("统计Excel中的每一行的字段数量:")
print(count_row)
count_column = df.count(axis=0)
print("统计Excel中的每一列的字段数量:")
print(count_column)

2. 使用[count_values()]方法提取统计结果

可以通过遍历count_column的结果来获取具体的字段和对应的统计值:

for key in count_column.keys():
print(key)
for value in count_column.values:
print(value)

三、数据表的合并操作

在实际应用中,常需要对数据进行合并操作。以下是以下几种合并方式及其适用场景:

1. 内连接(inner

内连接是默认的连接方式,只有当左右表中共同拥有的字段值不为空时,才会保留数据。示例如下:

df_table = pd.DataFrame(pd.read_csv("D:/test/test.csv", header=0))
df_table1 = pd.DataFrame(pd.read_csv("D:/test/test1.csv", header=0, encoding='gbk'))
# 内连接:提取左右表共同拥有的数据
df_inner = pd.merge(df_table, df_table1, how='inner')
print("内连接:提取左右表id相同的数据")
print(df_inner)

2. 左连接(left

左连接会保留左表的所有数据,右表仅在左表的字段值不为空时显示相关记录:

# 左连接:提取左表中全部数据,右表补充右表中id相同的字段和数据
df_left = pd.merge(df_table, df_table1, how='left')
print("左连接:提取左表中全部数据,右表数据补充右表中id相同的字段和数据")
print(df_left)

3. 右连接(right

右连接相反,保留右表的所有数据,左表仅在右表字段值不为空时显示相关记录:

# 右连接:提取右表中全部数据,左表数据补充右表中id相同的字段和数据
df_right = pd.merge(df_table, df_table1, how='right')
print("右连接:提取右表中全部数据,左表数据补充右表中id相同的字段和数据")
print(df_right)

4. 外连接(outer

外连接会包含所有存在的数据,包括左右表中字段值为空的部分:

# outer连接:保留所有字段值
df_outer = pd.merge(df_table, df_table1, how='outer')
print("outer连接:保留所有字段值,包括id为空的数据")
print(df_outer)

四、总结

通过上述具体实例,能够清晰地了解如何在pandas中读取、处理和合并数据。无论是内连接、左连接还是外连接,都可以根据实际需求选择最适合的方式进行数据操作。

转载地址:http://ovgqz.baihongyu.com/

你可能感兴趣的文章
netfilter应用场景
查看>>
netlink2.6.32内核实现源码
查看>>
Netpas:不一样的SD-WAN+ 保障网络通讯品质
查看>>
NetScaler的常用配置
查看>>
netsh advfirewall
查看>>
NETSH WINSOCK RESET这条命令的含义和作用?
查看>>
Netty WebSocket客户端
查看>>
netty 主要组件+黏包半包+rpc框架+源码透析
查看>>
Netty 异步任务调度与异步线程池
查看>>
Netty中集成Protobuf实现Java对象数据传递
查看>>
Netty事件注册机制深入解析
查看>>
Netty原理分析及实战(四)-客户端与服务端双向通信
查看>>
Netty客户端断线重连实现及问题思考
查看>>
Netty工作笔记0006---NIO的Buffer说明
查看>>
Netty工作笔记0007---NIO的三大核心组件关系
查看>>
Netty工作笔记0011---Channel应用案例2
查看>>
Netty工作笔记0013---Channel应用案例4Copy图片
查看>>
Netty工作笔记0014---Buffer类型化和只读
查看>>
Netty工作笔记0020---Selectionkey在NIO体系
查看>>
Vue踩坑笔记 - 关于vue静态资源引入的问题
查看>>