本文共 1817 字,大约阅读时间需要 6 分钟。
在进行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)
使用count方法可以统计每一行和每一列中缺失值的数量:
count_row = df.count(axis=1)print("统计Excel中的每一行的字段数量:")print(count_row)count_column = df.count(axis=0)print("统计Excel中的每一列的字段数量:")print(count_column) count_values()]方法提取统计结果可以通过遍历count_column的结果来获取具体的字段和对应的统计值:
for key in count_column.keys(): print(key)for value in count_column.values: print(value)
在实际应用中,常需要对数据进行合并操作。以下是以下几种合并方式及其适用场景:
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) left)左连接会保留左表的所有数据,右表仅在左表的字段值不为空时显示相关记录:
# 左连接:提取左表中全部数据,右表补充右表中id相同的字段和数据df_left = pd.merge(df_table, df_table1, how='left')print("左连接:提取左表中全部数据,右表数据补充右表中id相同的字段和数据")print(df_left) right)右连接相反,保留右表的所有数据,左表仅在右表字段值不为空时显示相关记录:
# 右连接:提取右表中全部数据,左表数据补充右表中id相同的字段和数据df_right = pd.merge(df_table, df_table1, how='right')print("右连接:提取右表中全部数据,左表数据补充右表中id相同的字段和数据")print(df_right) outer)外连接会包含所有存在的数据,包括左右表中字段值为空的部分:
# outer连接:保留所有字段值df_outer = pd.merge(df_table, df_table1, how='outer')print("outer连接:保留所有字段值,包括id为空的数据")print(df_outer) 通过上述具体实例,能够清晰地了解如何在pandas中读取、处理和合并数据。无论是内连接、左连接还是外连接,都可以根据实际需求选择最适合的方式进行数据操作。
转载地址:http://ovgqz.baihongyu.com/