|
849 | 849 | " if isinstance(times, pd.DatetimeIndex):\n", |
850 | 850 | " if feature in (\"week\", \"weekofyear\"):\n", |
851 | 851 | " times = times.isocalendar()\n", |
852 | | - " feat_vals = getattr(times, feature)\n", |
| 852 | + " feat_vals = getattr(times, feature).to_numpy()\n", |
853 | 853 | " else:\n", |
854 | 854 | " feat_vals = getattr(times.dt, feature)()\n", |
855 | 855 | " return feat_name, feat_vals\n", |
|
864 | 864 | " if isinstance(df, pd.DataFrame):\n", |
865 | 865 | " times = pd.Index(unique_times)\n", |
866 | 866 | " time2pos = {time: i for i, time in enumerate(times)}\n", |
867 | | - " restore_idxs = df[time_col].map(time2pos)\n", |
| 867 | + " restore_idxs = df[time_col].map(time2pos).to_numpy()\n", |
868 | 868 | " for feature in features:\n", |
869 | 869 | " name, vals = _compute_time_feature(times, feature)\n", |
870 | 870 | " df[name] = vals[restore_idxs]\n", |
|
971 | 971 | " <th>y</th>\n", |
972 | 972 | " <th>month</th>\n", |
973 | 973 | " <th>day</th>\n", |
| 974 | + " <th>week</th>\n", |
974 | 975 | " </tr>\n", |
975 | 976 | " </thead>\n", |
976 | 977 | " <tbody>\n", |
|
981 | 982 | " <td>0.428973</td>\n", |
982 | 983 | " <td>10</td>\n", |
983 | 984 | " <td>5</td>\n", |
| 985 | + " <td>40</td>\n", |
984 | 986 | " </tr>\n", |
985 | 987 | " <tr>\n", |
986 | 988 | " <th>1</th>\n", |
|
989 | 991 | " <td>1.423626</td>\n", |
990 | 992 | " <td>10</td>\n", |
991 | 993 | " <td>6</td>\n", |
| 994 | + " <td>40</td>\n", |
992 | 995 | " </tr>\n", |
993 | 996 | " <tr>\n", |
994 | 997 | " <th>2</th>\n", |
|
997 | 1000 | " <td>2.311782</td>\n", |
998 | 1001 | " <td>10</td>\n", |
999 | 1002 | " <td>7</td>\n", |
| 1003 | + " <td>40</td>\n", |
1000 | 1004 | " </tr>\n", |
1001 | 1005 | " <tr>\n", |
1002 | 1006 | " <th>3</th>\n", |
|
1005 | 1009 | " <td>3.192191</td>\n", |
1006 | 1010 | " <td>10</td>\n", |
1007 | 1011 | " <td>8</td>\n", |
| 1012 | + " <td>40</td>\n", |
1008 | 1013 | " </tr>\n", |
1009 | 1014 | " <tr>\n", |
1010 | 1015 | " <th>4</th>\n", |
|
1013 | 1018 | " <td>4.148767</td>\n", |
1014 | 1019 | " <td>10</td>\n", |
1015 | 1020 | " <td>9</td>\n", |
| 1021 | + " <td>41</td>\n", |
1016 | 1022 | " </tr>\n", |
1017 | 1023 | " <tr>\n", |
1018 | 1024 | " <th>...</th>\n", |
|
1021 | 1027 | " <td>...</td>\n", |
1022 | 1028 | " <td>...</td>\n", |
1023 | 1029 | " <td>...</td>\n", |
| 1030 | + " <td>...</td>\n", |
1024 | 1031 | " </tr>\n", |
1025 | 1032 | " <tr>\n", |
1026 | 1033 | " <th>1096</th>\n", |
|
1029 | 1036 | " <td>4.058910</td>\n", |
1030 | 1037 | " <td>5</td>\n", |
1031 | 1038 | " <td>10</td>\n", |
| 1039 | + " <td>19</td>\n", |
1032 | 1040 | " </tr>\n", |
1033 | 1041 | " <tr>\n", |
1034 | 1042 | " <th>1097</th>\n", |
|
1037 | 1045 | " <td>5.178157</td>\n", |
1038 | 1046 | " <td>5</td>\n", |
1039 | 1047 | " <td>11</td>\n", |
| 1048 | + " <td>19</td>\n", |
1040 | 1049 | " </tr>\n", |
1041 | 1050 | " <tr>\n", |
1042 | 1051 | " <th>1098</th>\n", |
|
1045 | 1054 | " <td>6.133142</td>\n", |
1046 | 1055 | " <td>5</td>\n", |
1047 | 1056 | " <td>12</td>\n", |
| 1057 | + " <td>19</td>\n", |
1048 | 1058 | " </tr>\n", |
1049 | 1059 | " <tr>\n", |
1050 | 1060 | " <th>1099</th>\n", |
|
1053 | 1063 | " <td>0.403709</td>\n", |
1054 | 1064 | " <td>5</td>\n", |
1055 | 1065 | " <td>13</td>\n", |
| 1066 | + " <td>19</td>\n", |
1056 | 1067 | " </tr>\n", |
1057 | 1068 | " <tr>\n", |
1058 | 1069 | " <th>1100</th>\n", |
|
1061 | 1072 | " <td>1.081779</td>\n", |
1062 | 1073 | " <td>5</td>\n", |
1063 | 1074 | " <td>14</td>\n", |
| 1075 | + " <td>20</td>\n", |
1064 | 1076 | " </tr>\n", |
1065 | 1077 | " </tbody>\n", |
1066 | 1078 | "</table>\n", |
1067 | | - "<p>1101 rows × 5 columns</p>\n", |
| 1079 | + "<p>1101 rows × 6 columns</p>\n", |
1068 | 1080 | "</div>" |
1069 | 1081 | ], |
1070 | 1082 | "text/plain": [ |
1071 | | - " unique_id ds y month day\n", |
1072 | | - "0 0 2000-10-05 0.428973 10 5\n", |
1073 | | - "1 0 2000-10-06 1.423626 10 6\n", |
1074 | | - "2 0 2000-10-07 2.311782 10 7\n", |
1075 | | - "3 0 2000-10-08 3.192191 10 8\n", |
1076 | | - "4 0 2000-10-09 4.148767 10 9\n", |
1077 | | - "... ... ... ... ... ...\n", |
1078 | | - "1096 4 2001-05-10 4.058910 5 10\n", |
1079 | | - "1097 4 2001-05-11 5.178157 5 11\n", |
1080 | | - "1098 4 2001-05-12 6.133142 5 12\n", |
1081 | | - "1099 4 2001-05-13 0.403709 5 13\n", |
1082 | | - "1100 4 2001-05-14 1.081779 5 14\n", |
| 1083 | + " unique_id ds y month day week\n", |
| 1084 | + "0 0 2000-10-05 0.428973 10 5 40\n", |
| 1085 | + "1 0 2000-10-06 1.423626 10 6 40\n", |
| 1086 | + "2 0 2000-10-07 2.311782 10 7 40\n", |
| 1087 | + "3 0 2000-10-08 3.192191 10 8 40\n", |
| 1088 | + "4 0 2000-10-09 4.148767 10 9 41\n", |
| 1089 | + "... ... ... ... ... ... ...\n", |
| 1090 | + "1096 4 2001-05-10 4.058910 5 10 19\n", |
| 1091 | + "1097 4 2001-05-11 5.178157 5 11 19\n", |
| 1092 | + "1098 4 2001-05-12 6.133142 5 12 19\n", |
| 1093 | + "1099 4 2001-05-13 0.403709 5 13 19\n", |
| 1094 | + "1100 4 2001-05-14 1.081779 5 14 20\n", |
1083 | 1095 | "\n", |
1084 | | - "[1101 rows x 5 columns]" |
| 1096 | + "[1101 rows x 6 columns]" |
1085 | 1097 | ] |
1086 | 1098 | }, |
1087 | 1099 | "execution_count": null, |
|
1090 | 1102 | } |
1091 | 1103 | ], |
1092 | 1104 | "source": [ |
1093 | | - "transformed_df, future_df = time_features(series, freq='D', features=['month', 'day'], h=1)\n", |
| 1105 | + "transformed_df, future_df = time_features(series, freq='D', features=['month', 'day', 'week'], h=1)\n", |
1094 | 1106 | "transformed_df" |
1095 | 1107 | ] |
1096 | 1108 | }, |
|
1125 | 1137 | " <th>ds</th>\n", |
1126 | 1138 | " <th>month</th>\n", |
1127 | 1139 | " <th>day</th>\n", |
| 1140 | + " <th>week</th>\n", |
1128 | 1141 | " </tr>\n", |
1129 | 1142 | " </thead>\n", |
1130 | 1143 | " <tbody>\n", |
|
1134 | 1147 | " <td>2001-05-15</td>\n", |
1135 | 1148 | " <td>5</td>\n", |
1136 | 1149 | " <td>15</td>\n", |
| 1150 | + " <td>20</td>\n", |
1137 | 1151 | " </tr>\n", |
1138 | 1152 | " <tr>\n", |
1139 | 1153 | " <th>1</th>\n", |
1140 | 1154 | " <td>1</td>\n", |
1141 | 1155 | " <td>2001-05-15</td>\n", |
1142 | 1156 | " <td>5</td>\n", |
1143 | 1157 | " <td>15</td>\n", |
| 1158 | + " <td>20</td>\n", |
1144 | 1159 | " </tr>\n", |
1145 | 1160 | " <tr>\n", |
1146 | 1161 | " <th>2</th>\n", |
1147 | 1162 | " <td>2</td>\n", |
1148 | 1163 | " <td>2001-05-15</td>\n", |
1149 | 1164 | " <td>5</td>\n", |
1150 | 1165 | " <td>15</td>\n", |
| 1166 | + " <td>20</td>\n", |
1151 | 1167 | " </tr>\n", |
1152 | 1168 | " <tr>\n", |
1153 | 1169 | " <th>3</th>\n", |
1154 | 1170 | " <td>3</td>\n", |
1155 | 1171 | " <td>2001-05-15</td>\n", |
1156 | 1172 | " <td>5</td>\n", |
1157 | 1173 | " <td>15</td>\n", |
| 1174 | + " <td>20</td>\n", |
1158 | 1175 | " </tr>\n", |
1159 | 1176 | " <tr>\n", |
1160 | 1177 | " <th>4</th>\n", |
1161 | 1178 | " <td>4</td>\n", |
1162 | 1179 | " <td>2001-05-15</td>\n", |
1163 | 1180 | " <td>5</td>\n", |
1164 | 1181 | " <td>15</td>\n", |
| 1182 | + " <td>20</td>\n", |
1165 | 1183 | " </tr>\n", |
1166 | 1184 | " </tbody>\n", |
1167 | 1185 | "</table>\n", |
1168 | 1186 | "</div>" |
1169 | 1187 | ], |
1170 | 1188 | "text/plain": [ |
1171 | | - " unique_id ds month day\n", |
1172 | | - "0 0 2001-05-15 5 15\n", |
1173 | | - "1 1 2001-05-15 5 15\n", |
1174 | | - "2 2 2001-05-15 5 15\n", |
1175 | | - "3 3 2001-05-15 5 15\n", |
1176 | | - "4 4 2001-05-15 5 15" |
| 1189 | + " unique_id ds month day week\n", |
| 1190 | + "0 0 2001-05-15 5 15 20\n", |
| 1191 | + "1 1 2001-05-15 5 15 20\n", |
| 1192 | + "2 2 2001-05-15 5 15 20\n", |
| 1193 | + "3 3 2001-05-15 5 15 20\n", |
| 1194 | + "4 4 2001-05-15 5 15 20" |
1177 | 1195 | ] |
1178 | 1196 | }, |
1179 | 1197 | "execution_count": null, |
|
0 commit comments