我有三个时间序列数组。其中两个具有 3 小时间隔的值,一个具有 6 小时间隔的值。我想将它们全部添加到同一个数据帧中,以便使用设置为索引的时间戳轻松绘制时间序列,但我不确定如何添加 6 小时间隔数组来跳过行,以便将值放置在正确的时间。
我在下面有一个工作示例。
import pandas as pd
A = [ 1., 2., 3., 4., 5., 6., 7., 8., 9., 10.]
B = [11., 12., 13., 14., 15., 16., 17., 18., 19., 20.]
C = [ 2., 4., 6., 8., 10. ]
data = { 'A_col': A,
'B_col': B
}
df = pd.DataFrame(data,columns=['A_col','B_col'])
print(df)
A_col B_col 0 1.0 11.0 1 2.0 12.0 2 3.0 13.0 3 4.0 14.0 4 5.0 15.0 5 6.0 16.0 6 7.0 17.0 7 8.0 18.0 8 9.0 19.0 9 10.0 20.0
本质上,我想将 C 添加为一列,并使其值出现在索引 1、3、5 等处,以与 A_col 的值对齐。我如何有效地做到这一点? Pandas 告诉我每列的大小必须相同。 (我正在使用的实际时间序列数组相当长。)我希望生成一个时间序列图,其中所有值都位于 x 轴的正确位置。
注意 - 我对 pandas 比较陌生,但对 numpy 有更多经验。
最佳答案
沿着这条线的事情:
df['C'] = np.nan
df.iloc[1::2, -1] = C
print(df)
输出:
A_col B_col C
0 1.0 11.0 NaN
1 2.0 12.0 2.0
2 3.0 13.0 NaN
3 4.0 14.0 4.0
4 5.0 15.0 NaN
5 6.0 16.0 6.0
6 7.0 17.0 NaN
7 8.0 18.0 8.0
8 9.0 19.0 NaN
9 10.0 20.0 10.0
关于python - Pandas-如何添加带有跳过行的条目的列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59430598/