gpt4 book ai didi

python - Pandas - 合并多个时间列并填充值

转载 作者:行者123 更新时间:2023-12-02 01:49:49 26 4
gpt4 key购买 nike

我有一个数据框(df):

index    time    val1    time2    val2
0 0.2 1 0.1 2
1 0.3 3 0.4 2
2 0.4 1 0.8 9
3 1.0 2

我需要合并time列,对它们进行排序,然后以“向下”的方式填充缺失的值。预期输出如下:

index    time    val1    val2
0 0.1 - 2
1 0.2 1 2
2 0.3 3 2
3 0.4 1 2
4 0.8 1 9
5 1.0 1 2

最佳答案

使用wide_to_long经过一些预处理 - 重命名时间列并将索引转换为列,然后按 DataFrame.sort_values 排序,通过DataFrame.drop_duplicates删除欺骗者和 DataFrame.dropna 的缺失值:

df1 = (pd.wide_to_long(df.rename(columns={'time':'time1'}).reset_index(),
'time', i='index', j='t')
.sort_values(['time','val2'])
.drop_duplicates('time')
.dropna(subset=['time'])
.reset_index(drop=True))
print (df1)
val1 val2 time
0 1.0 2 0.1
1 1.0 2 0.2
2 3.0 2 0.3
3 3.0 2 0.4
4 1.0 9 0.8
5 NaN 2 1.0

关于python - Pandas - 合并多个时间列并填充值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60039111/

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