初始化测试数据
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‘).
原文:https://www.cnblogs.com/convict/p/14708455.html