我有一个csv文件-
CSV A-
Date/Time Num
2023/04/10 14:13:18 6122
2023/04/10 14:14:24 6005
2023/04/10 14:14:59 6004
最多有3行或更少,Num=6122也总是在那里。其他两个数字(6005和6004)行可能在那里,也可能不在那里。
我正在寻找的输出-
Date/Time Num Date/Time_1 Num_1 Date/Time_2 Num_2
2023/04/10 14:13:18 6122 2023/04/10 14:14:24 6005 2023/04/10 14:14:59 6004
如果Num=6005,则日期/时间和数字应在第3列和第4列,如果Num=6004,则日期/时间和数字应在第5列和第6列,否则留空,如下所示-
Date/Time Num Date/Time_1 Num_1 Date/Time_2 Num_2
2023/04/10 14:13:18 6122 2023/04/10 14:14:59 6004
2条答案
按热度按时间4c8rllxm1#
你可以先转换
stack
,然后再转换to_frame
,transpose
和swaplevel
。最后将MultiIndex变平:输出:
如果你不想要
_0
:输出:
强制特定顺序,并根据需要插入NaN
假设此输入:
在应用上述方法之前,您可以使用字典和
reindex
强制重新索引:输出:
gojuced72#
可以使用
numpy.ravel
:输出:
更新
如果数字6005不在那里,在这种情况下,它将在第3和第4列设置6004数字行,但我希望它是第5和第6列,第3-第4列将是空的?
您可以硬编码转换:
要将此行注入数据库,可以尝试使用以下命令将
NaT/NaN
转换为None: