pandas删除行列或增加行列
数据展示
1 dic = {'id':[1,2,3,4,5,6,2],'dishes_name':['蒙古烤羊腿','大蒜苋菜', 2 '蒜香包','干锅田鸡','大蒜苋菜','芝麻烤紫菜','大蒜苋菜'], 3 'amount':[48,20,32,56,20,32,20]} 4 data = pd.DataFrame(dic,columns=['id','dishes_name','amount']) 5 data

①删除行
-
删除某列指定的数据
1 #删除某列指定的数据 2 ind=data['dishes_name']=='大蒜苋菜' 3 data.drop(data[ind].index)

-
删除['dishes_name','amount']两列重复值的行
1 #删除['dishes_name','amount']两列重复值的行 2 ind1 = data.drop_duplicates(subset=['dishes_name','amount']) 3 ind1

-
不指定subset时,默认删除重复的样本数据
1 #不指定subset时,默认删除重复的样本数据 2 data.drop_duplicates()

②删除空值行 : data.dropna(axis=0, how='any', thresh=None, subset=None, inplace=False)
axis=0:删除的是行,默认为0;
how:对数据列的判断,'any'是指有空值就删除,‘all’是当所有列在该行为空值是就删除
subset:指定判断的列
inplace:指处理数据后是否原数据也改变
1 dic = {'id':[1,2,3,4],'dishes_name':['蒙古烤羊腿','大蒜苋菜', 2 '蒜香包','大蒜苋菜'], 3 'amount':[48,20,32,pd.NaT]} 4 data = pd.DataFrame(dic,columns=['id','dishes_name','amount']) 5 data

- 删除指定['dishes_name','amount']的列有空值的行
1 data.dropna(axis=0,subset=['dishes_name','amount'],how='any')

- 删除指定['dishes_name','amount']的列都有空值的行
1 data.dropna(axis=0,subset=['dishes_name','amount'],how='all')

②删除列
- del只能删除一列数据,且改变原数据(不建议使用)
1 del data['amount']

- drop可以删除多列,但一定要指定axis=1,否则会报错
1 data.drop(['amount','dishes_name'],axis=1)

③添加行数据
数据展示
1 dic = {'id':[1,2,3,4,5,6,2],'dishes_name':['蒙古烤羊腿','大蒜苋菜', 2 '蒜香包','干锅田鸡','大蒜苋菜','芝麻烤紫菜','大蒜苋菜'], 3 'amount':[48,20,32,56,20,32,20]} 4 data = pd.DataFrame(dic,columns=['id','dishes_name','amount']) 5 data

- 添加ann_columns列为空值
1 import numpy as np 2 3 data['ann_columns'] = np.nan 4 data

- 添加行为空
1 data.loc[99,:]=np.nan 2 data

浙公网安备 33010602011771号