首页 > 其他 > 详细

Pandas中Dataframe删除行/列的方法

时间:2021-04-27 14:12:52      阅读:33      评论:0      收藏:0      [点我收藏+]

初始化测试数据

df = pd.DataFrame([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]], columns=["col1", "col2", "col3", "col4"], index=[‘row1‘, ‘row2‘, ‘row3‘])
print(df)

技术分享图片

删除指定行

new_df = df.drop(index=‘row2‘)
new_df = df.drop(‘row2‘, axis=‘index‘)
new_df = df.drop(‘row2‘, axis=0)

删除指定多行

new_df = df.drop(index=[‘row1‘, ‘row2‘])
new_df = df.drop([‘row1‘, ‘row2‘], axis=‘index‘)
new_df = df.drop([‘row1‘, ‘row2‘], axis=0)

删除指定列

new_df = df.drop(columns=‘col1‘)
new_df = df.drop(‘col1‘, axis=‘columns‘)
new_df = df.drop(‘col1‘, axis=1)

删除指定的多列

new_df = df.drop(columns=[‘col2‘, ‘col3‘])
new_df = df.drop([‘col2‘, ‘col3‘], axis=‘columns‘)
new_df = df.drop([‘col2‘, ‘col3‘], axis=1)

 

测试删除row2行:

print(df.drop(index=‘row2‘))
print(df.drop(‘row2‘, axis=‘index‘))
print(df.drop(‘row2‘, axis=0))

结果: 技术分享图片

 

Dataframe的drop方法默认不会修改原始dataframe,而是返回一个新的dataframe,所以需要新的变量去接收结果

测试代码:

new_df = df.drop(index=‘row2‘)
print(new_df)
print(df)

结果: 技术分享图片

 

若要直接修改原始dataframe,设置参数inplace=True(默认False),不会返回结果

new_df = df.drop(index=‘row2‘, inplace=True)
print(new_df)
print(df)

结果: 技术分享图片

 

Tip:drop的axis与 sum,mean等计算函数中的axis的含义不同,drop中axis的含义为:

axis : {0 or ‘index‘, 1 or ‘columns‘}, default 0
       Whether to drop labels from the index (0 or ‘index‘) or columns (1 or ‘columns‘).

 

Pandas中Dataframe删除行/列的方法

原文:https://www.cnblogs.com/convict/p/14708455.html

踩
(0)
赞
(0)
   
举报
评论 一句话评论(0)
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!