numpy和pandas笔记

numpy, pandas学习记录

1
2
3
4
#使用numpy读取csv或者txt文件
#unpack按列读取,一般不用
file = np.loadtxt(file_path, delimiter=',',dtype=float,skiprows=5,unpack=True)
file.astype('float32') #转换类型
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#series是一维,dataframe是二维 dataframe的某一列是series类型
#创建series,通过ndarray,list, 字典等创建
import pandas as pd
import string
t1 = pd.Series(np.arange(10),index=list(string.ascii_uppercase[:10]))
t2 = pd.Series({'name':'xiaoming'})
t3 = pd.Series([1,2,3,4,5])
#读取series的第一二三行
t1[[1,2,3]]
t1[['b','c','d']]
#查看index, 可以转化为列表
t1.index
#查看values, 就是将series转化为一维的ndarray
t1.values

#datafram的属性
df.shape
df.dtypes #列数据类型
df.ndim #维度
df.index #行索引
df.columns #列索引
df.values #转化为ndarray
df.head(3) #前三行
df.tail(3)

#读取csv
df=pd.read_csv('.csv')
#读取dataframe的某一行 series类型
df.iloc[1,:]
#填充nan
df.fillna(0)
#dataframe某一列的中位数
df["list_index"].median()
#dataframe的某一列, series类型
data['Title']
data.Title
#apply,默认axis=0,在列上运算
df.apply(lambda x: (x - x.mean())/x.std()) #x是一个向量
#one-hot编码
df = pd.get_dummies(df, dummy_na=True)

#concat函数
c=pd.concat([a,b],axis=1) a,b是series或者dataframe类型