我有一个名为use
的高大熊猫数据框,其列为ID, Date, ...
。每一行都是唯一的,但是每个ID有很多行,每个日期都有一个行ID。
ID Date Other_data
1 1-1-01 10
2 1-1-01 23
3 1-1-01 0
1 1-2-01 11
3 1-2-01 1
1 1-3-01 9
2 1-3-01 20
3 1-3-01 2
我还有一个唯一ID列表,ids=use['ID'].drop_duplicates
我想找到所有日期的交集,也就是说,仅找到每个ID都有数据的日期。此玩具问题的最终结果应为[1-1-01, 1-3-01]
目前,我循环浏览,以ID
设置子集并采用交点。粗略地说,它看起来像这样:
dates = use['Date'].drop_duplicates()
for i in ids:
id_dates = use[(use['ID'] == i)]['Date'].values
dates = set(dates).intersection(id_dates)
这让我震惊,效率低下。识别每个ID包含数据的日期的更有效方法是什么?
非常感谢!
答案 0 :(得分:2)
使用$colour_no_hash = str_replace('#', '', $colourvalue);
echo $colour_no_hash;
// Customize the TinyMCE Color Palette. Attempting to add a colour for 'Custom Login'. Other 2 colours work.
wptb_tinymce_options = function ($options) use ($colour_no_hash) {
$custom_colours = '"000000", "Black",
"00AC9F", "Custom Teal",
"' . $colour_no_hash . '", "Custom Login"';
$options['textcolor_map'] = '['.$custom_colours.']';
return $options;
};
,当值为0时应将其作为目标行。使用crosstab
。找到它
df.eq(0).any(1)
答案 1 :(得分:1)
找到每个日期的唯一ID,然后检查是否所有这些唯一ID。
gp = df.groupby('Date').ID.nunique()
gp[gp == df.ID.nunique()].index.tolist()
#['1-1-01', '1-3-01']