numpy&pandas基础用法详解

初学pandas不断补充整理归纳常用的,配合numpy使用默认

import pandas as pd
import numpy as np
#习惯简写

一、创建
1.series s = pd.Series([1, 3, 4, np.nan, 1])
2.日期 dates = pd.date_range('20180101', periods=6)
3.dict对象创建DataFrame

df = pd.DataFrame({'A': 7.,
                    'B': pd.Timestamp('20021111'),
                    'C': pd.Series(4, index=list(range(4)), dtype='float32'),
                    'D': np.array([3] * 4, dtype='int32'),
                    'E': 'kkk',
                    'F': pd.Categorical(['a', 'b', 'c', 'd'])
                    })

4.指定行列名称 注list(‘ABC’)

df2 = pd.DataFrame(np.arange(24).reshape(6, 4), index=dates, columns=list('ABCD'))

5.下面是numpy的一些创建方法
枚举a = np.array([2,3,4],dtype=np.int)# 默认int64
b = np.zeros((3,4)) # 3行4列全为0
c = np.ones((3,4)) # 全为1
等差递增1 e = np.arange(10,20,2) #[10 12 14 18]
等差递增2f = np.linspace(1,10,5) #[1. 3.25 6.5 8.75 10] 加.reshape会报错
指定矩阵排列

g = np.linspace(1,10,6).reshape((3,2))	# [[ 1.   2.8][ 4.6  6.4][ 8.2 10. ]]
.reshape指定矩阵的排列方式

0-1随机数np.random.random((2,4))
二、查看及排序axis= 0行 1列 切片:连续 ,间断
df2.index 行名
df2.columns 列名
df2.values 值
df2.T 倒序
行列排序改变0,1df2.sort_index(axis=0, ascending=False)
数据值排列df2.sort_values(by='F', ascending=False)
不显示带有缺失值的行 dropna(how='any')
填充缺失值df1.fillna(value=4)
pieces = [df2[:3], df2[2:7], df2[7:]]

[           A  B   C   D
2018-01-01  0  1   2   3
2018-01-02  4  5   6   7
2018-01-03  8  9  10  11,            
		     A   B   C   D
2018-01-03   8   9  10  11
2018-01-04  12  13  14  15
2018-01-05  16  17  18  19
2018-01-06  20  21  22  23, 
	Empty DataFrame
Columns: [A, B, C, D]
Index: []
]

连接Pandas对象 pd.concat(pieces)

             A   B   C   D
2018-01-01   0   1   2   3
2018-01-02   4   5   6   7
2018-01-03   8   9  10  11
2018-01-03   8   9  10  11
2018-01-04  12  13  14  15
2018-01-05  16  17  18  19
2018-01-06  20  21  22  23

apped追加 df2.append(df2.iloc[3], ignore_index=True

    A   B   C   D
0   0   1   2   3
1   4   5   6   7
2   8   9  10  11
3  12  13  14  15
4  16  17  18  19
5  20  21  22  23
6  12  13  14  15

三、选择
标签选择 loc
1.一行 df.loc[dates[0]]
2.多轴 df.loc[:, [‘A’, ‘B’]]
3.多轴切片 df.loc[‘20180102’:‘20180104’, [‘A’, ‘B’]]
4.标量 df.loc[dates[0], ‘A’] = df.at[dates[0], ‘A’]
位置选择 iloc
1.整数位置 df.iloc[3]
2.:切片 df.iloc[3:5, 0:2]
3.,切片 df.iloc[[1, 2, 4], [0, 2]]
4.整行 df.iloc[1:3, :]
5.整列 df.iloc[:, 1:3]
6.标量 df.iloc[1, 1] = df.iat[1, 1

你可能感兴趣的:(数据分析基础)