【发布时间】:2018-02-12 03:29:58
【问题描述】:
我有一个包含 3000 多行的 Pandas 数据框,如下所示:
t090: c0S/m: pr: timeJ: potemp090C: sal00: depSM: \
407 19.3574 4.16649 1.836 189.617454 19.3571 30.3949 1.824
408 19.3519 4.47521 1.381 189.617512 19.3517 32.9250 1.372
409 19.3712 4.44736 0.710 189.617569 19.3711 32.6810 0.705
410 19.3602 4.26486 0.264 189.617627 19.3602 31.1949 0.262
411 19.3616 3.55025 0.084 189.617685 19.3616 25.4410 0.083
412 19.2559 0.13710 0.071 189.617743 19.2559 0.7783 0.071
413 19.2092 0.03000 0.068 189.617801 19.2092 0.1630 0.068
414 19.4396 0.00522 0.068 189.617859 19.4396 0.0321 0.068
我想要做的是:从数据帧的每个部分创建单独的数据帧,其中列“c0S/m”中的值超过 0.1(例如上面示例中的第 407-412 行)。
假设我的 3000 多行数据框中有 7 个部分,其中第二列中的一系列行超过 0.1。我的 if/for/while 语句将对这些部分进行切片并创建 7 个单独的数据帧。
我尝试尽我所能进行研究,但找不到可以解决此问题的问题。任何帮助表示赞赏。
谢谢。
【问题讨论】:
-
当您说“部分”或“部分”时,您指的是一组连续的行,所有这些行都指定了包含标准?是否要保留原始数据框中的索引?
-
啊。我认为你的意思是分成 consecutive 行满足条件的部分。正确的?这可能很棘手。
-
您可以先获取所有满足条件的行,然后使用行索引找到您要进行“分节符”的点。除了循环遍历数据框并创建一组索引范围之外,我想不出任何办法。
标签: python pandas dataframe conditional slice