首页 > 其他 > 详细

Pandas中Dataframe删除行/列的方法

时间:2021-04-27 14:12:52      阅读:25      评论: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 版权所有
打开技术之扣,分享程序人生!