zoukankan      html  css  js  c++  java
  • pandas 生成新的Dataframe

    选择某些列

    import pandas as pd
    
    # 从Excel中读取数据,生成DataFrame数据
    # 导入Excel路径和sheet name
    df = pd.read_excel(excelName, sheet_name=sheetName)
    
    # 读取某些列,生成新的DataFrame
    # newDf = pd.DataFrame(df, columns=[column1, column2, column3]) 该方法在实际应用中报错,因为本身就是Dataframe数据,所以没有Dataframe属性,修改如下
    newDf = df[[column1, column2, column3]]

    选择某些列和行

    # 读取某些列,并根据某个列的值筛选行
    newDf = pd.DataFrame(df, columns=[column1, column2, column3])[(df.column1 == value1) & (df.column2 == value2)]

    添加新的列

    # 第一种直接赋值
    df["newColumn"] = newValue
    
    # 第二种用concat组合两个DataFrame
    pd.concat([oldDf, newDf])

    更改某一列的值

    # 第一种,replace
    df["column1"] = df["column1"].replace(oldValue, newValue)
    
    # 第二种,map
    df["column1"] = df["column1"].map({oldValue: newValue})
    
    # 第三种,loc
    # 将column2 中某些行(通过column1中的value1来过滤出来的)的值为value2
    df.loc[df["column1"] == value1, "column2"] = value2

    补全缺失值

    # fillna填充缺失值
    df["column1"] = df["column1"].fillna(value1)

    参考链接:https://www.cnblogs.com/jiangxinyang/p/9672785.html

    不考虑业务场景,一味的争执技术的高下,都是耍流氓。
  • 相关阅读:
    C# List<T>中Select List Distinct()去重复
    Spring.Net 简单入门学习
    [ASP.NET MVC]:
    打车题
    Vue------发布订阅模式实现
    Vue----数据响应原理
    小程序自定义导航栏_navigationStyle
    CleanWebpackPlugin最新版本使用问题
    js-事件函数调用简化
    用XHR简单封装一个axios
  • 原文地址:https://www.cnblogs.com/leoych/p/14440857.html
Copyright © 2011-2022 走看看