Pandas——一个Python中非常有用的库

文摘   2024-11-03 06:33   河南  

Pandas:数据处理的得力助手

说到数据分析,我最离不开的就是Pandas这个库了。它像Excel一样直观,又比Excel强大很多倍。处理上百万行的数据?小菜一碟!数据清洗、转换、分析,样样都不在话下。

认识DataFrame

DataFrame是Pandas最重要的数据结构,你可以把它想象成一张Excel表格。每一列都有自己的名字,每一行都有自己的索引。看段代码就明白了:
    import pandas as pd
    
    # 创建一个简单的DataFrame
    data = {
        '姓名': ['小明', '小红', '小张'],
        '年龄': [18, 20, 19],
        '成绩': [85, 92, 78]
    }
    df = pd.DataFrame(data)
    print(df)

温馨提示:创建DataFrame时,记得给列名取个好记的名字,别整些a、b、c这种,过两天自己都看不懂是啥意思。

数据读取有门道

读取数据文件是分析的第一步。Pandas支持各种格式,CSV、Excel、JSON都不在话下:
    # 读取CSV文件
    df = pd.read_csv('data.csv')
    
    # 读取Excel文件
    df = pd.read_excel('data.xlsx')

有个坑得提醒下,读取中文内容时可能会出现乱码。加个encoding参数就搞定了:

    df = pd.read_csv('data.csv', encoding='utf-8')

数据处理真好玩

数据处理最常用的操作就是筛选和排序。用Pandas做这事简直不要太爽:
    # 筛选年龄大于18的数据
    df[df['年龄'] > 18]
    
    # 按成绩排序,ascending=False表示降序
    df.sort_values('成绩', ascending=False)

我还特别喜欢用 groupby 进行分组统计,感觉特别解放双手:

    # 按年龄分组计算平均成绩
    df.groupby('年龄')['成绩'].mean()

缺失值处理

现实世界的数据总是不那么完美,经常会遇到缺失值。Pandas用 NaN (Not a Number)表示缺失值:
    # 检查缺失值
    df.isnull().sum()
    
    # 填充缺失值
    df.fillna(0)  # 用0填充
    df.fillna(method='ffill')  # 用前面的值填充

温馨提示:处理缺失值前最好先了解下数据的实际含义,blindly(盲目)填充可能会带来意想不到的问题。

数据运算

Pandas的运算符重载很强大,可以直接对整列数据进行运算:
    # 所有成绩加10分
    df['成绩'] = df['成绩'] + 10
    
    # 计算每个人的及格情况
    df['是否及格'] = df['成绩'] >= 60

对于一些复杂的计算,可以用 apply 函数:

    def 计算等级(分数):
        if 分数 >= 90:
            return 'A'
        elif 分数 >= 80:
            return 'B'
        else
            return 'C'
    
    df['等级'] = df['成绩'].apply(计算等级)

搞数据分析不是一朝一夕的事,慢慢来,多练习。光看不练假把式,建议你边学边实践。我就是这样一步步摸索过来的,踩了不少坑,但每踩一个坑都是一次成长。记住,DataFrame 是你的好朋友, groupby 是你的左膀右臂,多琢磨琢磨这俩,够你用很久了。

翔宇风
精彩纷呈,引人入胜。
 最新文章