1. 程式人生 > 實用技巧 >重學python-python-pandas庫

重學python-python-pandas庫

df.info()

行索引:直接返回前多少行的資料,下面示例返回前三行的資料

列索引:取欄位名稱,返回該列的所有值

loc取指定行指定列的資料:返回指定的index的行,指定列為age的資料,這裡的0:2指的是索引,所以這裡一共有三行。

iloc取指定列指定行的資料:這裡的iloc前面的0:3指的是前三行,後面的3代表第三個欄位(index)的值

隨機產生一些資料:

使用groupby來分組

使用聚合函式:以company為分組,檢視每個分組中salary和age分別最大的數值

如果想針對不同的欄位,取不同的值,譬如salary取最大,age取最小,那麼可以按照如下的寫法來表達:

輸出指定的列:

輸出學歷為本科的:

按資料進行分組:

#!/usr/bin/env python
import pandas as pd

def count(df):
    df.loc[(df.age < 18),  'AgeGroup'] = '0-18'
    df.loc[(df.age >= 18)&(df.age < 25),  'AgeGroup'] = '18-25'
    df.loc[(df.age >= 25)&(df.age < 30),  'AgeGroup'] = '25-30'
    df.loc[(df.age >= 30)&(df.age < 40),  'AgeGroup'] = '30-40'
    df.loc[(df.age >= 40)&(df.age < 50),  'AgeGroup'] = '40-50'
    df.loc[(df.age >= 50)&(df.age < 60),  'AgeGroup'] = '50-60'
    df.loc[(df.age >= 60),  'AgeGroup'] = '60+'
    return df

df = pd.read_csv('info4.csv',encoding='utf-8')
df1=count(df)
print(df1.groupby('AgeGroup').agg('count'))