• pandas 简单的 excel 处理


    pandas Excel简单的操作

    读写excel,csv

    a.xlsx

    Title name age Time
    ti1 wang 23 2021/2/2 22:24
    ti2 zhang 33 2021/2/2 22:24

    示例:

    import pandas as pd
    
    # 读取excel时,会将第一行数据,当作列名
    df = pd.read_excel('../a.xlsx')
    df2 = pd.read_csv('../a.csv')
    
    # 打印时,左侧会多一列数字,是自动生成的索引
    print(df)
    
    # 写入excel
    df.to_excel('b.xlsx', index=False)
    df.to_csv('b.csv',index=False)
    

    打印结果:

      Title   name  age                Time
    0   ti1   wang   23 2021-02-02 22:24:00
    1   ti2  zhang   33 2021-02-02 22:24:00
    

    数据维度:数据有几行几列

    # 查看数据的维度:几行几列
    row,col = df.shape
    print(row,col)   # 2 4;即2行4列
    

    数据排序

    # 按照 Title列升序,name列降序,进行排序
    df = df.sort_values(by=["Title","name"],ascending=[True,False])
    # 重置索引,有需要的话可以重置一下,因为排序完成后,索引也被打乱了
    df.index = list(range(df.shape[0]))
    

    获取某列数据

    # 通过df[列名],可以获取某列的数据
    col1 = df["Title"]
    print(col1)
    

    结果:

    0    ti1
    1    ti2
    

    遍历,赋值,判断是否为空

    # 遍历某列数据;iat 可以获取某个位置的数据
    for i in range(df["Title"].shape[0]): # shape[0]也就是行数
        print(df["Title"].iat[i])
        # 给某个位置赋值
        df['Title'].iat[i] = 1
        # 判断某个数据是否为空值: pd.isna()
        if pd.isna(df["Title"].iat[i]):
            print("This item is None.")
    

    数据类型转换

    # 将某列转换成时间格式
    df["Time"] = pd.to_datetime(df["Time"])
    # 将某列转换成字符串
    df["age"] = df["age"].astype(str)
    

    数据去重

    # 获取某列不重复的值
    print(df["Title"].unique())
    

    过滤筛选

    # 过滤数据,过滤 Title 为 ti1 的所有数据行
    print(df[df["Title"] == "ti1"])
    

    手动生成数据,写入excel

    data = {
        "Name":["wang","zhang"], # 键值对,键作为列名,会写入excel第一行,值作为每行的数据
        "age":[22,23]
            }
    df = pd.DataFrame(data=data)
    df.to_excel('b.xlsx',index=False)
    

    生成的:b.xlsx

    Name age
    wang 22
    zhang 23
  • 相关阅读:
    C++:变量声明和定义的关系
    Docker 方式搭建 zookeeper + kafka 集群
    Centos7.6系统下docker的安装
    CentOS7服务器下安装配置SSL
    《深入浅出密码学》|ing
    车联网入侵检测技术(持续更新)
    Hive的安装及交互方式
    Centos7中安装MySQL5.7记录
    Zookeeper-分布式锁代码实现
    【Java】String字符串的最大长度
  • 原文地址:https://www.cnblogs.com/wztshine/p/14920713.html
Copyright © 2020-2023  润新知