【发布时间】:2022-10-03 02:50:46
【问题描述】:
我想使用 pandas 或 numpy 检测我的数据的符号变化。我想计算id 的数量,它在两个立即的TIMESTEP 值之间改变y 的符号(例如,对于 2800 和 2900 TIMESTEP,id 313 已更改符号(y 变为负数) .我通过计算负数然后使用删除重复尝试了下面的代码,但这又不是有效和正确的。
df_negatives0 = df0.query(\'y < 0\')
df_nonduplicate0=df_negatives0.drop_duplicates(subset=[\"id\"])
我的数据集:
TIMESTEP id mass y
0 42 0.755047 0.489375
0 245 0.723805 0.479446
0 344 0.675664 0.463363
...
...
2800 313 0.795699 0.00492984
2800 425 0.68311 0.282356
2900 42 0.755047 0.424421
2900 245 0.723805 0.0378489
2900 344 0.675664 0.127917
2900 313 0.795699 -0.0149792
2900 425 0.68311 0.273884
...
...
upto
10000000
我想要的数据:
TIMESTEP id_count mass
2900 1 0.795699
...
...
500000 2 0.85245 + 0.54852 (i want to sum the masses if id count is more than one)
...
...
upto
10000000
标签: python pandas dataframe numpy