pandas 基础功能(二)

pandas 基础功能(二)

1.新增

2.删除

3.修改数据


1.新增
1)在最后新增一列(列S):
df["列S]=list  ## 增加列的元素个数要跟原数据列的个数一样
2)在指定位置新增一列(列Q):
# 语法格式:列表.insert(index, obj)
# index --->对象 obj 需要插入的索引位置。
# obj ---> 要插入列表中的对象(列名)
col_name=df1.columns.tolist()                   # 将数据框的列名全部提取出来存放在列表里
col_name.insert(n,'列Q')                      # 在列索引为n的位置插入一列,列名为:city,刚插入时不会有值,整列都是NaN
df1=df1.reindex(columns=col_name)
df['列Q']=list

3)追加一行数据
df1=df1.append(data,ignore_index=True)    
# ignore_index=True,表示不按原来的索引,从0开始自动递增,data代表行数据,行数据表示方法:
{"列名A":"数值A",...}、["数值A","数值B",...,"数值n"]
4)在指定行n追加数据(切割--添加--合并)
part1=df.iloc[:n]
part2=df.iloc[n:]
part1=part1.append(data,ignore_index=True)

2.删除
1)删除具体的列
df.drop('列名A',axis=1,inplace=True)
#inplace值是True代表覆盖源数据,False代表不覆盖
2)删除具体的行
df.drop('行索引值A',axis=0,inplace=True)
3)删除第n行
df.drop(df.index[n])
4)删除重复行
df.Duplicated() #判断是否有重复列
df.drop_duplicates()  #默认判断全部的列判断是否重复
df.drop_duplicates(subset=['列名A','列名B'],keep='first')
#当keep=False时,就是去掉所有的重复行
#当keep=‘first’时,就是保留第一次出现的重复行
#当keep=’last’时就是保留最后一次出现的重复行。
#df[df.duplicated(keep=False)] #提取重复行

3.修改数据
1)为空数据处理
df.dropna()
DataFrame.dropna(axis=0, how='any', thresh=None, subset=None, inplace=False)
#函数作用:删除含有空值的行或列
#axis:维度,axis=0表示index行,axis=1表示columns列,默认为0
#how:"all"表示这一行或列中的元素全部缺失(为nan)才删除这一行或列,"any"表示这一行或列中只要有元素缺失,就删除这一行或列
#thresh:一行或一列中至少出现了(thresh的值)个才删除。
#subset:在某些列的子集中选择出现了缺失值的列删除,不在子集中的含有缺失值得列或行不会删除(有axis决定是行还是列)
#inplace:刷选过缺失值得新数据是存为副本还是直接在原数据上进行修改。

df.fillna()
#DataFrame.fillna(value=None, method=None, axis=None, inplace=False, limit=None, downcast=None, **kwargs)
#函数作用:填充缺失值
#value:需要用什么值去填充缺失值
#axis:确定填充维度,从行开始或是从列开始
#method:ffill:用缺失值前面的一个值代替缺失值,如果axis=1,那么就是横向的前面的值替换后面的缺失值,如果axis=0,那么则是上面的值替换下面的缺失值。backfill/bfill,缺失值后面的一个值代替前面的缺失值。注意这个参数不能与value同时出现
#limit:确定填充的个数,如果limit=2,则只填充两个缺失值。

df.isnull()
#判断值是否为null
df.isna()
#判断值是否为NaN

2)修改行列值
修改行的值
df.iloc[2,:]=n    #n代表数字
df.iat[行索引,列索引="字符串"
df["列A"]=df["列A"].replace("原有值","替换值",inplace=True)
修改列的值
df.loc[df."列A">5,"b"]="字符串"
df.at["行索引值A","列索引值"]=n

借鉴文章链接:

https://blog.youkuaiyun.com/qq_40981268/article/details/86498762
https://blog.youkuaiyun.com/missyougoon/article/details/83375375


在此对作者表示感谢

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值