Pandas是一个基于NumPy的Python库,常用于数据分析和处理。在数据分析和处理过程中,有时需要删除指定的行、列或者增加新的行、列,本文将介绍如何使用Pandas实现这些操作。
删除行和列
Pandas中删除行和列的方式比较灵活,常用的方法有drop()
和pop()
。
- drop方法
# 删除行
df.drop(index=[1, 3], inplace=True)
# 删除列
df.drop(columns=['col1', 'col2'], inplace=True)
- pop方法
# 删除列
col1 = df.pop('col1')
需要注意的是,drop()
方法要使用inplace=True
参数才会直接修改原DataFrame。如果不使用这个参数,会返回经过删除操作后的新的DataFrame,原DataFrame不会改变。
增加行和列
Pandas中增加行和列的方式也比较灵活,常用的方法有append()
、loc[]
和iloc[]
。
- append方法
# 增加行
df = df.append({'col1':1, 'col2':2}, ignore_index=True)
# 增加多行
df = df.append([{'col1':1, 'col2':2}, {'col1':3, 'col2':4}], ignore_index=True)
# 增加列
df['col3'] = [3, 4, 5, 6]
- loc方法
# 增加行
df.loc[len(df)] = [1, 2]
# 增加一列
df.loc[:,'col3'] = [3, 4, 5, 6]
- iloc方法
# 增加行
df.loc[len(df)] = [1, 2]
# 增加一列
df.iloc[:, 3] = [3, 4, 5, 6]
其中,append()
方法能够同时添加多行,但是只能添加一行,所以当需要一次添加多行的时候,可以考虑使用append()
方法。而loc[]
和iloc[]
方法更加灵活,能够定位到具体的位置进行插入操作,具有更高的自由度。
示例:
import pandas as pd
# 构造数据
data = {'col1':[1, 2, 3],
'col2':[4, 5, 6]}
df = pd.DataFrame(data)
print('-----原始数据-----')
print(df)
# 删除行
df.drop(index=[1, 2], inplace=True)
print('-----删除行-----')
print(df)
# 删除列
df.drop(columns=['col2'], inplace=True)
print('-----删除列-----')
print(df)
# 增加行
df = df.append({'col1':1, 'col2':2}, ignore_index=True)
print('-----增加行-----')
print(df)
# 增加列
df['col3'] = [3, 4]
print('-----增加列-----')
print(df)
输出结果为:
-----原始数据-----
col1 col2
0 1 4
1 2 5
2 3 6
-----删除行-----
col1 col2
0 1 4
-----删除列-----
col1
0 1
-----增加行-----
col1 col2
0 1 4
1 1 2
-----增加列-----
col1 col2 col3
0 1 4 3
1 1 2 4
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:pandas删除行删除列增加行增加列的实现 - Python技术站