繁体   English   中英

通过完全采样 dataframe 上的掩码访问子采样 dataframe

[英]accessing subsampled dataframe by mask on fully sampled dataframe

这是工作代码

import pandas as pd

full_df = pd.DataFrame({
    "a": [1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, ]
})
sub_df = pd.DataFrame({
    "a": [1, 2, 3, 4],
    "b": [5, 6, 7, 8]
})

factor = 4

print(full_df)
print("_____")
print(sub_df)

mask = full_df["a"] == 2
print(full_df[mask])

印刷

 a 0 1 1 1 2 1 3 1 4 2 5 2 6 2 7 2 8 3 9 3 10 3 11 3 12 4 13 4 14 4 15 4 _____ ab 0 1 5 1 2 6 2 3 7 3 4 8 a 4 2 5 2 6 2 7 2

我现在想在与full_df的索引相对应的索引处访问sub_df ,仅在full_df被屏蔽的地方。

像(不工作) print(sub_df[mask % factor])

预期的:

 ab 1 2 6

如何在 pandas 中执行此操作?

你的意思是:

factor=4

new_mask = mask[np.arange(len(full_df))%factor==0]
sub_df[new_mask.values]

Output:

    a
1   2

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM