Pandas Pandas的函式應用

2021-09-17 20:29:15 字數 3789 閱讀 2436

使用numpy函式可以直接生成dataframe

df = pd.dataframe(np.random.randn(5,4) - 1)

print(df)

print(np.abs(df))

結果:

0         1         2         3

0 -1.193139 -4.145649 -1.571923 -0.378310

1 -1.346353 0.574261 -0.064639 -0.208498

2 -0.247680 -0.896988 0.532693 0.216936

3 -0.887787 -2.009084 -1.221057 -1.455613

4 -0.567156 -1.625967 0.297832 -2.785613

0 1 2 3

0 1.193139 4.145649 1.571923 0.378310

1 1.346353 0.574261 0.064639 0.208498

2 0.247680 0.896988 0.532693 0.216936

3 0.887787 2.009084 1.221057 1.455613

4 0.567156 1.625967 0.297832 2.785613

資料應用到函式上

每行或者每列資料應用到函式上

f = lambda x : x.max()
函式應用到資料上

對每個資料使用該函式

f2 = lambda x : '%.2f' % x
sort_index()

排序預設使用公升序排序,ascending=false 為降序排序

按照索引排序:

# series

s4 = pd.series(range(10, 15), index = np.random.randint(5, size=5))

print(s4)

# 索引排序

s4.sort_index() # 0 0 1 3 3

結果:

0    10

3 11

1 12

3 13

0 14

dtype: int64

0 10

0 14

1 12

3 11

3 13

dtype: int64

按值排序:axis=1列排序,axis=0行排序

sort_values(by='column name')

axis=1列排序,axis=0行排序

df4_isort = df4.sort_index(axis=1, ascending=false)

print(df4_isort) # 4 2 1 1 0

**如下:

# coding:utf-8

import pandas as pd

import numpy as np

df4 = pd.dataframe(np.random.randn(3, 5),

index=np.random.randint(3, size=3),

columns=np.random.randint(5, size=5))

print(df4)

df4_vsort = df4.sort_values(by=1,ascending=false)

print(df4_vsort)

執行結果:

3         1         0         0         2

2 0.927526 1.474904 0.629935 -2.342644 1.294805

0 -0.271416 0.580047 -0.500053 0.011222 1.127890

2 -1.880352 1.585799 0.983135 0.616710 0.553546

3 1 0 0 2

2 -1.880352 1.585799 0.983135 0.616710 0.553546

2 0.927526 1.474904 0.629935 -2.342644 1.294805

0 -0.271416 0.580047 -0.500053 0.011222 1.127890

判斷是否有缺失值:df_data.isnull()

df_data = pd.dataframe([np.random.randn(3), [1., 2., np.nan],

[np.nan, 4., np.nan], [1., 2., 3.]])

print(df_data.head())

執行結果:

0         1         2

0 -0.281885 -0.786572 0.487126

1 1.000000 2.000000 nan

2 nan 4.000000 nan

3 1.000000 2.000000 3.000000

df_data.isnull()

是缺失值的地方為true,否則為false

0 1 2

0 false false false

1 false false true

2 true false true

3 false false false

丟棄缺失值:分為axis=0整行丟棄,axis=1整列丟棄: df_data.dropna()

print(df_data.dropna())

print(df_data.dropna(axis=1)) axis=1表示整列丟棄

根據axis的值來判斷是否丟棄整行或者整列

0 1 2

0 -0.281885 -0.786572 0.487126

3 1.000000 2.000000 3.000000

10 -0.786572

1 2.000000

2 4.000000

3 2.000000

填充缺失資料:df_data.fillna()

print(df_data.fillna(-100.))

結果: 0 1 2

0 -0.281885 -0.786572 0.487126

1 1.000000 2.000000 -100.000000

2 -100.000000 4.000000 -100.000000

3 1.000000 2.000000 3.000000

apply篩選 pandas pandas實用手冊

pandas最常用的資料物件是資料框 dataframe 和series。資料框與r中的dataframe格式類似,都是乙個二維陣列。series則是乙個一維陣列,類似於列表。資料框是pandas中最常用的資料組織方式和物件。series是一種一維資料結構,每乙個元素都帶有乙個索引,與一維陣列的含義...

函式的用法 Excel函式TREND函式的用法

trend函式是乙個線性趨勢的 函式,在已知y值 x值的條件下,x對應的y值 trend共有4個引數,三個必選引數,乙個可選引數 同樣的一組資料第四引數不同,結果也是有區別的 灰色曲線是由第四引數為false時得到的結果生成的曲線。通過斜率與截距函式我們計算出這兩條曲線的斜率與截距,可以看出,第四引...

main函式的入口函式

作業系統裝載程式之後,首先執行的 並不是main的第一行,而是某些別的 這些 負責準備好main函式執行所需要的環境,並且負責呼叫main函式,執行這些 的函式稱為入口函式或入口點 entry point 視平台的不同而有不同的名字。程式的入口點實際上是乙個程式的初始化和結束部分,它往往是執行庫的一...