loc函数、iloc函数、df.drop()函数的用法
1.loc函数、iloc函数loc函数:通过行索引 “Index” 中的具体值来取行数据(如取"Index"为"A"的行)iloc函数:通过行号来取行数据(如取第二行的数据)df = pd.DataFrame(np.arange(20).reshape(5,4),index=list('abcde'),columns=['A', 'B', 'C', 'D'])######### 提取行数据####
·
1.loc函数、iloc函数
loc函数:通过行索引 “Index” 中的具体值来取行数据(如取"Index"为"A"的行)
iloc函数:通过行号来取行数据(如取第二行的数据)
df = pd.DataFrame(np.arange(20).reshape(5,4),index=list('abcde'),columns=['A', 'B', 'C', 'D'])
######### 提取行数据############
#取索引为'a'的行
df.loc['a']
# 输出:
A 0
B 1
C 2
D 3
#取第二行数据,索引为'a'的行就是第一行,所以结果相同
df.iloc[1]
# 输出:
A 4
B 5
C 6
D 7
######### 提取列数据############
#取A、B列的数据
df.loc[:,['A','B']]
# 输出:
A B
a 0 1
b 4 5
c 8 9
d 12 13
e 16 17
#取第0列,第1列的数据
df.iloc[:,[0,1]]
# 输出:
A B
a 0 1
b 4 5
c 8 9
d 12 13
e 16 17
######### 提取指定行、指定列数据############
#提取index为'c','d',列名为'A','B'中的数据
df.loc[['c','d'],['A','B']]
# 输出:
A B
c 8 9
d 12 13
#提取第0、2行,第0、1列中的数据
df.iloc[[0,2],[0,1]]
# 输出:
A B
a 0 1
c 8 9
######### 提取所有数据############
#取所有列的数据
df.loc[:,:]
# 输出:
A B C D
a 0 1 2 3
b 4 5 6 7
c 8 9 10 11
d 12 13 14 15
e 16 17 18 19
#取所有行数据
df.iloc[:,:]
# 输出:
A B C D
a 0 1 2 3
b 4 5 6 7
c 8 9 10 11
d 12 13 14 15
e 16 17 18 19
2.drop()函数的用法
'''
drop()函数的用法:
DataFrame.drop(labels=None,axis=0, index=None, columns=None, inplace=False)
labels:就是要删除的行列的名字,用列表给定
axis:默认为 0,指删除行,因此删除 columns 时要指定 axis=1;
index:直接指定要删除的行
columns:直接指定要删除的列
inplace=False : 默认该删除操作不改变原数据,而是返回一个执行删除操作后的 新 dataframe;
inplace=True : 则会直接在原数据上进行删除操作,删除后无法返回。
'''
df = pd.DataFrame(np.arange(20).reshape(5,4), columns=['A', 'B', 'C', 'D'])
# 删除B,C两列
# 方法一:
df.drop(['B', 'C'], axis=1) #一定要指定axis=1,否则会报错,因为drop默认是删除行数据的
# 方法二:
df.drop(columns=['B', 'C'])
# 删除B,C两列输出结果:
A D
0 0 3
1 4 7
2 8 11
3 12 15
4 16 19
# 删除索引值为1,3的行数据
df.drop(index=[1, 3])
# 输出结果:
A B C D
0 0 1 2 3
2 8 9 10 11
4 16 17 18 19
drop()函数删除指定的行,按照某列的值对df数据行的索引进行筛选并删除
例如:剔除3分的中性评论
// An highlighted block
df[df['score'] == 3] # 找到score这一列中值为3的所有行数据
写法1:
df = df.drop(df[df['Score']==3].index)
写法2:
df=df[df['Score']!=3]
一个表中含有很多的列,我想要删除其中指定的几列’Id’, ‘ProductId’, 'UserId’
df = df.drop(['Id', 'ProductId', 'UserId'],axis=1)
更多推荐
已为社区贡献2条内容
所有评论(0)