Python 3.x 使用pandas组合包含NaN和int值的所有连续行中的行值
我需要你的帮助: 我想像这样合并连续行: 输入:Python 3.x 使用pandas组合包含NaN和int值的所有连续行中的行值,python-3.x,pandas,dataframe,Python 3.x,Pandas,Dataframe,我需要你的帮助: 我想像这样合并连续行: 输入: Time ColA ColB Time_for_test[sec] 2020-01-19 08:51:56.461 NaN B NaN 2020-01-19 08:52:15.405 NaN NaN 18.95 2020-01-19 08:52:40.923 A NaN NaN 2020-01-19 08:52:59.589 NaN
Time ColA ColB Time_for_test[sec]
2020-01-19 08:51:56.461 NaN B NaN
2020-01-19 08:52:15.405 NaN NaN 18.95
2020-01-19 08:52:40.923 A NaN NaN
2020-01-19 08:52:59.589 NaN NaN 18.67
2020-01-19 08:54:07.687 NaN B NaN
Time ColA ColB Time_for_test[sec]
2020-01-19 08:51:56.461 NaN B NaN
2020-01-19 08:52:15.405 NaN B 18.95
2020-01-19 08:52:40.923 A NaN NaN
2020-01-19 08:52:59.589 A NaN 18.67
2020-01-19 08:54:07.687 NaN B NaN
输出:
Time ColA ColB Time_for_test[sec]
2020-01-19 08:51:56.461 NaN B NaN
2020-01-19 08:52:15.405 NaN NaN 18.95
2020-01-19 08:52:40.923 A NaN NaN
2020-01-19 08:52:59.589 NaN NaN 18.67
2020-01-19 08:54:07.687 NaN B NaN
Time ColA ColB Time_for_test[sec]
2020-01-19 08:51:56.461 NaN B NaN
2020-01-19 08:52:15.405 NaN B 18.95
2020-01-19 08:52:40.923 A NaN NaN
2020-01-19 08:52:59.589 A NaN 18.67
2020-01-19 08:54:07.687 NaN B NaN
当然,我检查了网站上是否存在类似的案例:
我尝试过添加一个新专栏,如下所示:
merge_df = merge_df.fillNa(0)
merge_df['sum'] = merge_df['TableA']+merge_df['Time_for_ST[sec]'].shift(-1)
它不起作用
感谢您的耐心
stack
和unstack
是您的朋友。假设您的数据帧索引是唯一的:
df[['ColA', 'ColB']].stack() \
.reset_index(level=1) \
.reindex(df.index) \
.ffill() \
.set_index('level_1', append=True) \
.unstack() \
.droplevel(0, axis=1)
因为这是一条很长的操作链,所以只能运行第1行,然后是第1、2、1、2、3。。。。看看它是如何工作的。
stack
和unstack
是你的朋友。假设您的数据帧索引是唯一的:
df[['ColA', 'ColB']].stack() \
.reset_index(level=1) \
.reindex(df.index) \
.ffill() \
.set_index('level_1', append=True) \
.unstack() \
.droplevel(0, axis=1)
因为这是一条很长的操作链,所以只能运行第1行,然后是第1、2、1、2、3。。。。看看它是如何工作的。这里的逻辑是什么?是否希望
df[['ColA',ColB']]=df[['ColA',ColB']].ffill(limit=1)
?您的解决方案不会更改数据帧…这里的逻辑是什么?是否希望df[['ColA',ColB']]=df[['ColA',ColB']].ffill(limit=1)
?您的解决方案不会更改数据帧…谢谢!你帮助我,我成功地创建了我想要的DF。谢谢!你帮助我,我成功地创建了我想要的DF。