删除每一行的NaN后,是否可以将每一行移动到同一行的末尾



我一直在寻找在dfA(DataFrame(的每一行中删除NaN的方法,然后将每一行移动到push1_start_date下,并重新连接到push1_start_date的末尾。有可能做到吗??我尝试了stack((和unstack((方法,但都不起作用。谢谢。

push1_start_date  push2_start_date  push3_start_date  push4_start_date  push5_start_date  push6_start_date  push7_start_date  push8_start_date
2021-04-29                 3               NaN               NaN               NaN               NaN               NaN               NaN               NaN
2021-04-30                20               NaN               NaN               NaN               NaN               NaN               NaN               NaN
2021-05-01                24               NaN               NaN               NaN               NaN               NaN               NaN               NaN
2021-05-02                21               NaN               NaN               NaN               NaN               NaN               NaN               NaN
2021-05-03                14               NaN               NaN               NaN               NaN               NaN               NaN               NaN
2021-05-04                 5               NaN               NaN               NaN               NaN               NaN               NaN               NaN
2021-05-05                14               NaN               NaN               NaN               NaN               NaN               NaN               NaN
2021-05-06                16               NaN               NaN               NaN               NaN               NaN               NaN               NaN
2021-05-07                17               NaN               NaN               NaN               NaN               NaN               NaN               NaN
2021-05-08                14               NaN               NaN               NaN               NaN               NaN               NaN               NaN
2021-05-11                78               NaN               NaN               NaN               NaN               NaN               NaN               NaN
2021-05-12                20              78.0               NaN               NaN               NaN               NaN               NaN               NaN
2021-05-13                13              21.0               NaN               NaN               NaN               NaN               NaN               NaN
2021-05-14                 8              12.0               NaN               NaN               NaN               NaN               NaN               NaN
2021-05-15                18               8.0               NaN               NaN               NaN               NaN               NaN               NaN
2021-05-16                16              19.0               NaN               NaN               NaN               NaN               NaN               NaN
2021-05-17                16              16.0               NaN               NaN               NaN               NaN               NaN               NaN
2021-05-18                18              15.0               NaN               NaN               NaN               NaN               NaN               NaN
2021-05-19                14              19.0               NaN               NaN               1.0               2.0               NaN               NaN
2021-05-20                13              14.0               1.0               NaN               1.0               1.0               NaN               NaN
2021-05-21                11              13.0               NaN               NaN               1.0               NaN               1.0               NaN
2021-05-22                26              10.0               NaN               2.0               NaN               1.0               NaN               NaN
2021-05-23                12              27.0               NaN               1.0               NaN               NaN               NaN               NaN
2021-05-24                15              12.0               1.0               3.0               NaN               1.0               NaN               NaN
2021-05-25                 9              16.0               NaN               1.0               NaN               1.0               NaN               NaN
2021-05-26                14               9.0               NaN               1.0               NaN               NaN               NaN               NaN
2021-05-27                14              12.0               NaN               NaN               NaN               NaN               NaN               NaN
2021-05-28                21              16.0               NaN               NaN               NaN               NaN               NaN               NaN
2021-05-29                23              20.0               1.0               2.0               1.0               1.0               NaN               NaN
2021-05-30                18              23.0               1.0               NaN               1.0               1.0               NaN               NaN
2021-05-31                19              17.0               NaN               3.0               1.0               3.0               NaN               NaN
2021-06-01                15              21.0               NaN               3.0               1.0               1.0               NaN               NaN
2021-06-02                22              13.0               1.0               2.0               NaN               1.0               NaN               NaN
2021-06-03                19              23.0               1.0               NaN               NaN               1.0               NaN               NaN
2021-06-04                12              20.0               2.0               NaN               2.0               NaN               NaN               NaN
2021-06-05                 2               1.0               NaN               NaN               NaN               1.0               NaN               NaN
ideal output
push1_start_date 
2021-04-29 3 ←The begging of push1_start_date
2021-06-05 2 ←The last of push1_start_date
2021-05-12 78 ←The begging of push2_start_date
2021-06-05 1.0 ←The last of push2_start_date
2021-05-20 1.0 ←The begging of push2_start_date
2021-06-04 2.0 ←The last of push2_start_date
it comtines untill push8_start_date

您可以尝试使用reset_index()melt()dropna()drop():

out=(df.reset_index()
.melt('index',value_name='push_start_date')
.dropna(subset=['push_start_date'])
.drop('variable',1))

通过concat()to_frame():

out=(pd.concat([df[x].dropna() for x in df.columns[df.dtypes!='object']])
.to_frame('push_start_date'))

您可以使用df.melt()将右侧的所有列堆叠为1列,然后只保留value列而不保留null值:

df.melt().drop('variable', axis=1).dropna()

输出

value 
2021-04-29 3
...        ...
2021-06-05 2
2021-05-12 78
...        ...
2021-06-05 1.0
2021-05-20 1.0
...        ...
2021-06-04 2.0
...        ...

相关内容

  • 没有找到相关文章

最新更新