一、调整列的顺序:
初始列的顺序为:A, D, B, F, C, E
想要的顺序为:A, B, C, D, E, F
order=['A','B','C','D','E','F']
data=data[order]
二、数据矩阵中,某列有一些行的数据为空,需要删除数据中该列数据为空的行。
import numpy as np
import pandas as pd
A=['AA','AA','BB','BB','CC','CC','DD','DD']
C=['A1','A2','A3','A4','A5','A6','A7','A8']
B=['cd','sd',np.nan,'fr','rt','rtg','yju','ko']
D=[11,12,13,14,17,18,22,44]
F=[1,2,1,4,1,8,2,4]
data=pd.DataFrame()
data['A']=A
data['C']=B
data['B']=C
data['D']=D
data['F']=F
print(data)
结果为:
A C B D F
0 AA cd A1 11 1
1 AA sd A2 12 2
2 BB NaN A3 13 1
3 BB fr A4 14 4
4 CC rt A5 17 1
5 CC rtg A6 18 8
6 DD yju A7 22 2
7 DD ko A8 44 4
C列第三行为空, 删除数据的第三行:
data=data.dropna(subset=['C'])
print(data)
结果为:
A C B D F
0 AA cd A1 11 1
1 AA sd A2 12 2
3 BB fr A4 14 4
4 CC rt A5 17 1
5 CC rtg A6 18 8
6 DD yju A7 22 2
7 DD ko A8 44 4
三、如果某一列的某行包含某一数据,则取出该行数据,组成数据集。
取出数据中A列里包含'AA'和'CC'的数据:
data_1=data[data['A'].isin(['AA','BB'])]
print(data_1)
结果为:
A C B D F
0 AA cd A1 11 1
1 AA sd A2 12 2
2 BB NaN A3 13 1
3 BB fr A4 14 4
四、取出数据数据集:如果某列包含某一数据,则去除该行。
data_1=data[~data['A'].isin(['AA','BB'])]
print(data_1)
结果为:
A C B D F
4 CC rt A5 17 1
5 CC rtg A6 18 8
6 DD yju A7 22 2
7 DD ko A8 44 4
五,删除数据中重复的数据。
data=data.drop_duplicates()
六、对列名称重命名。
将'A1'重命名为'B1','C1'重命名为'C1'.
data=data.rename(columns={'A1':'B1','C':'C1'})
七、缺失值处理。
返回每列空值的数目:
data.isna().sum()
返回数据集中空值的总数:
data.isna().sum().sum()
填充空值,inplace=True表示对原数据修改:
data.fillna(value=2,inplace=True)
对指定列进行缺失值处理:
data['C'].fillna(value=2,inplace=True)
data[['B','C']].fillna(value=2,inplace=True)
用上一个有效值填补当前缺失值:
data['C'].ffill(inplace=True)
用下一个有效值填补当前缺失值:
data['C'].bfill(inplace=True)
用平均值来填补缺失值:
data['C'].fillna(data['C'].mean(),inplace=True)
八、数据分箱:按照某种规则对数据进行分类
data['labels']=pd.cut(data['Score'],labels=score_label,bins=Range,include_lowest=True)
结果为:
A B C Score labels
0 AA A1 cd 11 Just so so
1 AA A2 sd 12 Just so so
2 BB A3 NaN 13 Just so so
3 BB NaN fr 14 Good
4 CC A5 rt 17 Good
5 CC A6 rtg 18 Good
6 DD A7 yju 22 Nice
7 DD A8 ko 44 Nice
九、iloc, loc, ix的区别。
iloc用数字来索引数据,不能使用字符型标签来索引数据;
loc只能使用字符型标签来索引数据,不能使用数字来索引数据。但是标签本身是数字,则可以用数字来索引;
ix是一种混合索引,字符型标签和数字索引都可以使用。
-----TBD----
Keep your young heart after you go a long way