python - Pandas DataFrame 保留最早的列和值
问题描述
我正在使用 NUTS3 级别的人口统计数据数据框,并且不同地区以不同的时间间隔报告数据。我总是想要最新的数据,年份因地区而异。
数据可能如下所示 |
region|2015|2014|2013|
AT201 | 101| 100| |
AB301 | | 123| 456|
AB302 | | | 234|
如何将年份列组合成一个包含最新数据的列,例如
region|newest_data|
AT201 | 101|
AB301 | 123|
AB302 | 234|
下面是实际数据截图的链接 https://i.stack.imgur.com/AUP3A.png
非常感谢任何提示或指示!
解决方案
将非年份列转换为索引DataFrame.set_index
,回填缺失值,选择第一列,重命名并转换为DataFrame
:
df = df.set_index(['region']).bfill(axis=1).iloc[:, 0].rename('newest_data').reset_index()
推荐阅读
- javascript - Google Chrome 使用 javascript fetch 将 GET 方法更改为 OPTIONS
- ios - 如何防止多个用户在应用内购买时使用相同的 Apple ID
- javascript - php $_POST 使用javascript调用php函数时返回空
- ajax - ajax查询不传递页面数据laravel 5.6
- java - 处理应用内 WiFi 状态的定期检查
- ruby-on-rails - elasticseach 如何在请求正文中添加搜索类型
- c++ - printf()、scanf() 中的字母“f”和 seekg() 中的“g”代表什么
- html - 如何修复容器内的按钮?
- node.js - 如何点击此链接进入下一页?
- c# - 来自 Resource.Designer.cs 的模糊参考智能感知错误