gpt4 book ai didi

python - 如何根据 python 中的时间戳索引将行转置为单列?

转载 作者:太空宇宙 更新时间:2023-11-04 02:37:45 25 4
gpt4 key购买 nike

样本输入数据集是:

0 2017-11-17 10:23:28.691 788 756 789 780

1 2017-11-17 10:23:29.731 788 783 0 0

2 2017-11-17 10:23:30.655 747 0 0 0

3 2017-11-17 10:23:31.627 766 0 0 0

4 2017-11-17 10:23:32.606 807 0 0 0

我想要的示例输出数据集:

0 2017-11-17 10:23:28.691 788

0 2017-11-17 10:23:28.691 756

0 2017-11-17 10:23:28.691 789

0 2017-11-17 10:23:28.691 780

1 2017-11-17 10:23:29.731 788

1 2017-11-17 10:23:29.731 783

2 2017-11-17 10:23:30.655 747

3 2017-11-17 10:23:31.627 766

4 2017-11-17 10:23:32.606 807

我如何通过 python 或 pandas 做到这一点?还是有其他技术可以做到这一点?

最佳答案

使用set_index + stack ,然后过滤掉 0 行,最后从 Series 创建 DataFrame:

print (df)
date a b c d
0 2017-11-17 10:23:28.691 788 756 789 780
1 2017-11-17 10:23:29.731 788 783 0 0
2 2017-11-17 10:23:30.655 747 0 0 0
3 2017-11-17 10:23:31.627 766 0 0 0
4 2017-11-17 10:23:32.606 807 0 0 0

a = df.set_index('date').stack()
df = a[a != 0].reset_index(drop=True, level=1).reset_index(name='a')
print (df)
date a
0 2017-11-17 10:23:28.691 788
1 2017-11-17 10:23:28.691 756
2 2017-11-17 10:23:28.691 789
3 2017-11-17 10:23:28.691 780
4 2017-11-17 10:23:29.731 788
5 2017-11-17 10:23:29.731 783
6 2017-11-17 10:23:30.655 747
7 2017-11-17 10:23:31.627 766
8 2017-11-17 10:23:32.606 807

关于python - 如何根据 python 中的时间戳索引将行转置为单列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47437966/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com