python - 使用Python获取列的两个值之间的行
问题描述
假设有如下数据框:
df = {
'Period': [1996,'Jan','Feb','March',1997,'Jan','Feb','March',1998,'Jan','Feb','March']
'Some-Values': [,'a','b','c',,'d','e','f',,'g',h','i']
}
1996
并且需要提取值之间的行,1997
以便生成的数据框如下:
df_res = {
'Period': ['Jan','Feb','March']
'Some-Values': ['a','b','c']
}
我目前正在为此尝试 Pandas,但无法找到解决方案。
解决方案
尝试将您的数据框更改为“正确”的方式,然后我们可以通过使用年份信息来获取信息
df['Year']=df.loc[df['Some-Values']=='','Period']
df.Year=df.Year.ffill()
df=df.loc[df.Period!=df.Year,:]
df.loc[df.Year==1996,:]
Out[651]:
Period Some-Values Year
1 Jan a 1996
2 Feb b 1996
3 March c 1996
推荐阅读
- python - 合并DataFrame中的上下行
- python - 如何使用带有转换器 python 的 3D 列表的标记器?
- terraform - Terraform 迭代嵌套迭代
- java - Maven 找不到依赖项
- angular - 如何更改响应式表单中日期的格式?
- .htaccess - 防止 htaccess 表单重定向到 url 中的目录
- javascript - 在控制台中记录 flash 消息会导致失败(connect-flash)
- database - 批处理、在线处理还是两者兼而有之?
- postgresql - 如何提高 postgres / pgbouncer 的性能
- ios - iOS WebRTC网状视频电话会议内存增加问题