python - 熊猫根据过去的持续时间添加新列
问题描述
我有一个熊猫数据框
期间 | 特征_x |
---|---|
202004 | 值_a |
202003 | 值_b |
202002 | 值_c |
202001 | 值_d |
我想在表中附加参数历史字段,例如;
期间 | 特征_x | 特征_x_t1 | 特征_x_t2 |
---|---|---|---|
202004 | 值_a | 值_b | 值_c |
202003 | 值_b | 值_c | 值_d |
202002 | 值_c | 值_d | 楠 |
202001 | 值_d | 楠 | 楠 |
那时,我找不到合适的解决方案。有什么解决方案或建议吗?
解决方案
您可以为此使用for loop
andshift()
方法:
for x in range(1,len(df)+1):
df['feature_x_t'+str(x)]=df['feature_x'].shift(-x)
现在,如果您打印df
,您将获得:
DURATION feature_x feature_x_t1 feature_x_t2 feature_x_t3 feature_x_t4
0 202004 value_a value_b value_c value_d NaN
1 202003 value_b value_c value_d NaN NaN
2 202002 value_c value_d NaN NaN NaN
3 202001 value_d NaN NaN NaN NaN
推荐阅读
- c# - 为什么我在 UWP 中收到此错误“...无法解析程序集:System.Runtime”?
- python - 使用 pandas 和 fuzzwuzzy 匹配相似的列元素
- c# - 序列化异常返回一个非常大的 JSON
- python - 如何在 html div 中显示 Python print()
- mysql - SQL将值与特定年份的平均值进行比较
- python - 在 Kivy 中使用按钮释放清除 inputText
- amp-html - URL 中带有斜杠的 AMP 分析源
- java - 如何在 zip 中写入字节数组,然后从那里读取
- c++ - C++17:使用 std::optional 来评估枚举是否包含值
- java - 在同一个 Android Studio 页面中显示两个 listView