Python中文
首页
教程
问答
标签
搜索
登录
注册
如果行具有相同的“A列”值,则用最后一个已知值填充空的“B列”单元格
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我对Python和数据科学非常陌生。你知道吗</p> <p>我有一个大的数据集(有100K+行),在这个数据集中我有两列<code>A</code>和<code>B</code>。<code>A</code>是Datetime列,B是字符串。你知道吗</p> <p>B列有一些NaN值,我想用最新的已知B列值填充这些NaN值,假设我的空B列行和已经填充的B列行在同一天、月和年(A列)。你知道吗</p> <p>让我解释一下我自己:</p> <p>假设这是我的意见:</p> <pre><code>df=pd.DataFrame({'A': ["2019-03-13 08:12:23", "2019-03-13 07:10:18", "2019-03-20 08:12:23", "2019-03-13 08:12:23", "2019-03-15 10:35:53", "2019-03-20 11:12:23"], 'B': ["B1", "B0", "B13", np.nan, "B10", "B12"]}) A B 0 2019-03-13 08:12:23 B1 1 2019-03-13 07:10:18 B0 2 2019-03-20 08:12:23 B13 3 2019-03-13 08:12:23 NaN 4 2019-03-15 10:35:53 B10 5 2019-03-20 11:12:23 B12 </code></pre> <p>我想用B1填充NaN值(B值发生在同一天并且具有最大时间,前提是这个“最大时间”不在实际的<code>A</code>列值之前)。你知道吗</p> <p>所以我的输出应该是这样的:</p> <pre><code> A B 0 2019-03-13 08:12:23 B1 1 2019-03-13 07:10:18 B0 2 2019-03-20 08:12:23 B13 3 2019-03-13 08:12:23 B1 4 2019-03-15 10:35:53 B10 5 2019-03-20 11:12:23 B12 </code></pre> <p>我试图实现这一点,但没有成功,我所能做的就是利用以下方法使B13具有NaN价值:</p> <pre><code>df['B']=df['B'].replace({'B': {0: np.nan}}).ffill() </code></pre> <p>你们能告诉我实现这一目标的最简单最经济的方法是什么吗?你知道吗</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>您的任务可以使用以下<strong>一行程序执行:</p> <pre><code>df.B = df.sort_values('A').groupby(pd.to_datetime(df.A).dt.date).B.ffill() </code></pre>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
上传图片使用Django Ckeditor获取服务器错误(500)
3 回答
上传图片到 Google App Engine,来自非网页客户端
3 回答
上传图片到Djang的cloudinary
2 回答
上传图片到Flask
1 回答
上传图片到googleappengine并与用户分享图片
3 回答
上传图片到googlecolab,并使用Keras预测分类
1 回答
上传图片到s3python
9 回答
上传图片到s3后,上传附带的拇指
2 回答
上传图片在Django,希望是一个循序渐进的指南?
5 回答
上传图片并显示在Django 2.0模板上
10 回答
上传图片时创建动态路径
6 回答
上传多个图像会破坏除第一个Flas之外的所有内容
7 回答
上传多个文件上传文件FastAPI
8 回答
上传多个文件到Django
4 回答
上传多张图片
6 回答
上传大数据到谷歌硬盘给400
6 回答
上传大文件nginx+uwsgi
10 回答
上传大文件不工作谷歌驱动Python API
7 回答
上传大文件到S3
9 回答
上传大文件太慢
2 回答