gpt4 book ai didi

python - “时间戳”对象不可迭代

转载 作者:太空宇宙 更新时间:2023-11-04 05:08:29 24 4
gpt4 key购买 nike

我正在尝试将 pandas.core.series.Series (df1['col1']) 与 pandas.core.frame.DataFrame (df2) 相乘。它们的索引是相同的,但当我试图通过做来乘以它们时,它总是给我返回“‘Timestamp’对象不可迭代”

k = df1['col1'].mul(df2)


[In] df1:
[out]
Index col1 col2
2065-12-20 12 apples
2061-10-31 12 candies
2045-11-28 70 marshmalow
2043-10-31 11 apples
2040-07-30 21 cars
2049-06-30 64 planes
2036-01-31 14 glasses



[In] df2:
Index col1 col2 etc....
2065-12-20 14 120
2061-10-31 18 800
2045-11-28 19 580
2043-10-31 21 12
2040-07-30 44 21
2049-06-30 1.2 17
2036-01-31 61.8 61

我想要

Index             col1        col2   etc.... 
2065-12-20 14*12 120*12
2061-10-31 18*12 800*12
2045-11-28 19*70 580*70
2043-10-31 21*11 12*11
2040-07-30 44*21 21*21
2049-06-30 1.2*64 17*64
2036-01-31 61.8*14 61*61

df1['col1'] 是几天前的,我用

df1['col1'] = (df1['col1'].values / np.timedelta64(1, 'D')).astype(int)

df1.dtypes = dtype('int32')

知道为什么会返回错误吗?

最佳答案

出现异常是因为您乘以整个 DataFrame(包括时间戳列!),而不仅仅是单个列:

df1['col1'].mul(df2)

给定您可能想要的数据框:

df1['col1'].mul(df2['col1'])

如果你想一次处理多列:

df1['col1'].values[:, None] * df2[['col1', 'col2', ...]]  # explicitly list columns

df1['col1'].values[:, None] * df2[df2.columns[1:]] # all columns except the first

关于python - “时间戳”对象不可迭代,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43708567/

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