pandas如何实现缺失的行数据按上一行数据进行填充?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pandas如何实现缺失的行数据按上一行数据进行填充?相关的知识,希望对你有一定的参考价值。
如图1所示,黄色区域的数据为空,如何用pandas实现行数据的填充,填充后的效果如图2所示。
参考技术A df["你要填补的列名"].fillna(“填补的值”)df为你数据框名称
,你的不一定是df
pandas如何删除指定行
一列 name 的数据里面包含所有的股票名
如何删除 3开头的创业板股票 和st股票
1、前提:加载numpy,pandas和Series,DataFrame。生成一个Series,并删除索引为‘c’的项,如图所示。
2、如果想删除Series中的多个指定项,在drop中添加这几项组成的列表即可。
3、接下来看看DataFrame如何删除数据,先生成一个4行4列的df1。
4、直接使用df1.drop(['北京','上海'])则删除索引是‘北京’,‘上海’的数据,这样就完成了操作。
参考技术A1、创建pandas模块实例文件,导入相应的模块包,然后分别调用对应的方法生成矩阵的行和列。
2、保存代码并使用python应用进行运行,在控制台可以查看到生成的矩阵。
3、如果想要获取矩阵的后面的几行记录,可以使用tail()方法,添加参数代码多少行。
4、再次保存代码并运行,由于tail()方法传入了参数2,代表获取矩阵最后两行。
5、如果想要获取矩阵第一列的索引值,可以使用模块中的index属性。
6、再次保存运行文件,在控制台可以查看到打印的结果为日期序列值。
参考技术B删除某行的方法是df.drop('索引值',axis=0)
通过程序来判断,并得到索引值
判断st股票:'ST' in row['name'] #ST要大写,row是迭代dataframe时候的变量
判断3开头的股票: '3' in row['code'][0]
#大概的程序就是下面这样,df是你得到的dataframe。code是股票代码for index,row in df.iterrows():
if 'ST' in row['name']:
df.drop(index, axis=0, inplace=True)
elif '3' in row['code'][0]:
df.drop(index, axis=0, inplace=True)
这段程序运行后,df里面就没有创业板和st股票了
以上是关于pandas如何实现缺失的行数据按上一行数据进行填充?的主要内容,如果未能解决你的问题,请参考以下文章
比较 PandaS DataFrames 并返回第一个缺失的行
Python pandas:在groupby数据框中插入缺失日期、时间序列的行
pandas读取csv数据使用reset_index函数把行索引重置为列数据(col_level参数设置原来的行索名称转化为列索引的指定层索引col_fill参数为缺失内容的层进行填充)