pandas 是常见的数据分析使用的库,那么如何删除列或者行呢(行和列的差距就在axis=1和0的区别了)axis默认是等于0
第一个是drop()方法
#比如说,我们先做个数据
import numpy as np
from pandas import DataFrame
a=DataFrame(data=np.random.randint(0,100,size=(3,5)),index=["a","b","c"],columns=["A","B","C","D","E"])
#结果是这样的
A B C D E
a 63 67 23 80 53
b 18 77 41 70 32
c 69 84 37 93 23
#那么,我们先drop方法
a.drop(["A"],axis=1)
#删除列。
B C D E
a 15 99 80 43
b 76 24 40 87
c 77 99 42 84
#干掉行
a.drop(["a"],axis=0)
A B C D E
b 50 76 24 40 87
c 31 77 99 42 84
#同理, 你只要知道行和列的相应 index 或者columns即可解决问题。
#删除多行
a.drop(["a","b"],axis=0)#只删除a和b 。列就是同理
A B C D E
c 31 77 99 42 84
#要修改源数据的话,要加inplace=true
#取出某一行或者列
a.loc["a"]
A 89
B 15
C 99
D 80
E 43
Name: a, dtype: int32
a["A"]
a 89
b 50
c 31
Name: A, dtype: int32
注意iloc只能用整数来取数
loc可以是切片或者其他什么的都行
a.iloc[1]#行
A 50
B 76
C 24
D 40
E 87
Name: b, dtype: int32
#列
a.iloc[:,1]
a 15
b 76
c 77
Name: B, dtype: int32
#多行
a.iloc[1:3] #取出了第二和第三行
A B C D E
b 50 76 24 40 87
c 31 77 99 42 84
#同时取行列
a.iloc[1:3,1]
b 76
c 77
Name: B, dtype: int32
iloc和loc的原理是一样的,差距就在一个只能用整数,如上
通过这个分辨
a.iloc["a":"b"]会报错。
#拼接上数据
、、、后面在写把