美文网首页
Pandas实战——DataFrame

Pandas实战——DataFrame

作者: 深思海数_willschang | 来源:发表于2021-09-10 11:03 被阅读0次
    pandas in action.png

    原书地址

    本篇笔记为原书第四章节的内容。

    • The DataFrame Oject

    DataFrame是二维行列的表格型数据结构。如下图所示5行2列:


    DataFrame

    DataFrame创建

    • 字典创建DataFrame
    city_data = {
            "City": ["New York City", "Paris", "Barcelona", "Rome"],
            "Country": ["United States", "France", "Spain", "Italy"],
            "Population": [8600000, 2141000, 5515000, 2873000]
        }
    cities = pd.DataFrame(city_data)
    cities
    
    from dict
    • Numpy的数据创建DataFrame
    pd.DataFrame(np.random.randint(1, 101, [3, 5]))
    
    from narray
    • 指定index和column_labels
    random_data = np.random.randint(1, 101, [3, 5])
    row_labels = ["Morning", "Afternoon", "Evening"]
    column_labels = (
            "Monday",
            "Tuesday",
            "Wednesday",
            "Thursday",
            "Friday",
        )
    
    pd.DataFrame(
        data = random_data,
        index = row_labels,
        columns = column_labels,
    )
    
    index && columns
    • read_csv()创建DataFrame


      read_csv

    DataFrame属性及方法

    属性

    • df.dytpes
    • df.index
    • df.columns
    • df.ndim
    • df.shape
    • df.size

    方法

    • df.count()
    • df.head(),df.tail()
    • df.sample()
    • df.nunique()
    • df.max()
    • df.min()
    • df.nlargest(n=n, colums=['colums-name'])
    • df.nsmallest()
    • df.sum()
    • df.mean() # 通过numeric_only来指定只对数值型数据进行操作
    • df.median() # 通过numeric_only来指定只对数值型数据进行操作
    • df.mode() # 通过numeric_only来指定只对数值型数据进行操作
    • df.std() # 通过numeric_only来指定只对数值型数据进行操作

    DataFrame排序操作

    sort_values()
    • df.sort_values(by=['colums-name',], ascending=False) # 支持多列排序


      sort_values
    sort_index()
    sort_index
    对列标签进行排序
    axis params
    设置新index
    • set_index()


      set_index

    取DataFrame的行或列值

    取列值

    • df.columns-name # .列名即可返回该列下的所有值
    • df['col-name'] # 以上面结果一样
    • df[ ['col1', 'col2'] ] # 获取多列值
    • df.select_dtypes(include=dtype) # 通过include或exclude参数对类型数据进行提取,支持多种类型过滤


      select_dtypes

    取行值

    • df.loc() # 通过行标签值来提取数据,支持多标签行取值,标签值区间取值,标签值切片方式取值


      loc()
    • df.iloc() # 通过索引位置值进行数据提取 iloc = index location,支持多行数值提取,区间,切片方式提取

      iloc()
    • 指定行列进行数据提取,指定loc或iloc里的第二个参数


      row-clo values
    • at()或iat()方法进行数据提取


      at&&iat

    对行列重命名

    • df.rename(index={'old' : 'new'})

    • df.rename(columns={'old' : 'new'})

    • df.reset_index() # 会自动生成数值型的index

    • df.set_index('col-name') # 以col-name作为行标签,会替换掉原来的行标签值,原标签值丢弃掉


      reset_index && set_index

    相关文章

      网友评论

          本文标题:Pandas实战——DataFrame

          本文链接:https://www.haomeiwen.com/subject/doygwltx.html