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

    不考虑业务场景,一味的争执技术的高下,都是耍流氓。
  • 相关阅读:
    Code Review
    关于calendar修改前的代码和修改后的代码
    程序员必备的代码审查(Code Review)清单
    一个数组中最大子数组的和并且加上测试用例
    阅读build to win的个人感想
    结对编码(柳祎、张许君)
    Review(patener)
    Review [myself]
    Impressions
    Array
  • 原文地址:https://www.cnblogs.com/leoych/p/14440857.html
Copyright © 2011-2022 走看看