我尝试在数据框"df_energy"中添加一个新列"energy_class",如果"consumption_energy"值> 400则包含字符串"high",如果"consumption_energy"值在200和400之间则包含"medium",并且低"如果"consumption_energy"值低于200.我尝试从numpy使用np.where,但我看到numpy.where(condition[, x, y])只处理两个条件而不是像我的情况一样.
有什么好主意帮我吗?
先感谢您
我有一个数据帧df_energy2
df_energy2.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 29974 entries, 0 to 29973
Data columns (total 4 columns):
TIMESTAMP 29974 non-null datetime64[ns]
P_ACT_KW 29974 non-null int64
PERIODE_TARIF 29974 non-null object
P_SOUSCR 29974 non-null int64
dtypes: datetime64[ns](1), int64(2), object(1)
memory usage: 936.8+ KB
Run Code Online (Sandbox Code Playgroud)
这种结构:
df_energy2.head()
TIMESTAMP P_ACT_KW PERIODE_TARIF P_SOUSCR
2016-01-01 00:00:00 116 HC 250
2016-01-01 00:10:00 121 HC 250
Run Code Online (Sandbox Code Playgroud)
有没有可以提取小时的python功能TIMESTAMP?
亲切的问候
我有一个数据帧merged_df_energy:
+------------------------+------------------------+------------------------+--------------+
| ACT_TIME_AERATEUR_1_F1 | ACT_TIME_AERATEUR_1_F3 | ACT_TIME_AERATEUR_1_F5 | class_energy |
+------------------------+------------------------+------------------------+--------------+
| 63.333333 | 63.333333 | 63.333333 | low |
| 0 | 0 | 0 | high |
| 45.67 | 0 | 55.94 | high |
| 0 | 0 | 23.99 | low |
| 0 | 20 | 23.99 | medium |
+------------------------+------------------------+------------------------+--------------+
Run Code Online (Sandbox Code Playgroud)
我想为每个ACT_TIME_AERATEUR_1_Fx(ACT_TIME_AERATEUR_1_F1,ACT_TIME_AERATEUR_1_F3和ACT_TIME_AERATEUR_1_F5)创建一个包含这些列的数据框:class_energy和sum_time
例如,对应于的数据框ACT_TIME_AERATEUR_1_F1:
+-----------------+-----------+
| class_energy | sum_time …Run Code Online (Sandbox Code Playgroud) 我有两个数据框:df1和df2
df1:
TIMESTAMP eq1 eq2 eq3
2016-05-10 13:20:00 40 30 10
2016-05-10 13:40:00 40 10 20
Run Code Online (Sandbox Code Playgroud)
df2:
TIMESTAMP eq1 eq2 eq3
2016-05-10 13:20:00 10 20 30
2016-05-10 13:40:00 10 20 20
Run Code Online (Sandbox Code Playgroud)
我想将df1除以df2:将df1的每一列除以df2的所有列即可得到此结果df3:
TIMESTAMP eq1 eq2 eq3
2016-05-10 13:20:00 40/(10+10) 30/(20+20) 10/(30+20)
2016-05-10 13:40:00 40/(10+10) 10/(20+20) 20/(30+20)
Run Code Online (Sandbox Code Playgroud)
有什么想法吗?
我的S程序有问题.我需要用这个命令编译它:
gcc -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -lglib-2.0 \
-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wall -Wextra -g -std=c99 -lm *.c \
-o generator1_1
Run Code Online (Sandbox Code Playgroud)
我有很多这样的错误消息:
/home/cyrine/Bureau/Seq_GLib2_1_1_Triche/main.c:153: undefined reference to `g_hash_table_lookup'
/home/cyrine/Bureau/Seq_GLib2_1_1_Triche/main.c:171: undefined reference to `g_hash_table_insert'
/home/cyrine/Bureau/Seq_GLib2_1_1_Triche/main.c:172: undefined reference to `g_array_append_vals'
/home/cyrine/Bureau/Seq_GLib2_1_1_Triche/main.c:179: undefined reference to `g_array_append_vals'
/tmp/ccVqEbsM.o: In function `main':
/home/cyrine/Bureau/Seq_GLib2_1_1_Triche/main.c:238: undefined reference to `g_hash_table_new_full'
/home/cyrine/Bureau/Seq_GLib2_1_1_Triche/main.c:239: undefined reference to `g_hash_table_new_full'
/home/cyrine/Bureau/Seq_GLib2_1_1_Triche/main.c:263: undefined reference to `g_hash_table_destroy'
/home/cyrine/Bureau/Seq_GLib2_1_1_Triche/main.c:264: undefined reference to `g_hash_table_destroy'
/tmp/cc2UG2Wy.o: In function `fillVFile':
/home/cyrine/Bureau/Seq_GLib2_1_1_Triche/reader.c:47: undefined reference to `g_strdup'
/home/cyrine/Bureau/Seq_GLib2_1_1_Triche/reader.c:51: undefined reference to `g_ptr_array_add'
/tmp/cctOiTOl.o: In function `calculRegles': …Run Code Online (Sandbox Code Playgroud)