使用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 視平台的不同而有不同的名字。程式的入口點實際上是乙個程式的初始化和結束部分,它往往是執行庫的一...