- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我试图根据数据中的 future 日期是否会发生条件来标记每一行。这种情况过去是否发生过并不重要。此外,我正在尝试按组执行此标记。
考虑这个问题的一个直观方法是是否有人会在未来购买裤子。
id date item
1 2000-01-01 'foo'
1 2000-01-02 'pants'
1 2000-01-03 'bar'
2 2000-01-02 'organ'
2 2000-02-01 'beef'
3 2000-01-01 'pants'
3 2000-01-10 'oranges'
3 2000-02-20 'pants'
反过来会变成:
id date item will_buy_pants
1 2000-01-01 'foo' 1
1 2000-01-02 'pants' 0
1 2000-01-03 'bar' 0
2 2000-01-02 'organ' 0
2 2000-02-01 'beef' 0
3 2000-01-01 'pants' 1
3 2000-01-10 'oranges' 1
3 2000-02-20 'pants' 0
编辑:这不是一个预测问题。是否有人会买裤子已经在数据中表达出来了。我只想在每一行都有一个标志。
最佳答案
from StringIO import StringIO
import pandas as pd
text = """id date item
1 2000-01-01 'foo'
1 2000-01-02 'pants'
1 2000-01-03 'bar'
2 2000-01-02 'organ'
2 2000-02-01 'beef'
3 2000-01-01 'pants'
3 2000-01-10 'oranges'
3 2000-02-20 'pants'"""
df = pd.read_csv(StringIO(text), delim_whitespace=True, parse_dates=[1])
我正在使用嵌套apply
def check_future_pants(x, df):
date_condition = x.date < df.date
pant_condition = df.item == "'pants'"
return (date_condition & pant_condition).any()
def check_df_pants(df):
return df.apply(lambda x: check_future_pants(x, df), axis=1)
df['will_buy_pants'] = df.groupby('id', group_keys=False).apply(check_df_pants)
# Let's start with a sub-group
df1 = df[df.id == 1].copy()
print df1.apply(lambda x: check_future_pants(x, df1), axis=1)
0 True
1 False
2 False
dtype: bool
这适用于一组,但我所做的检查适用于 DataFrame
,因此我使用另一个检查函数 check_df_pants
执行嵌套的 apply
。
df['will_buy_pants'] = df.groupby('id', group_keys=False).apply(check_df_pants)
pring df
id date item will_buy_pants
0 1 2000-01-01 'foo' True
1 1 2000-01-02 'pants' False
2 1 2000-01-03 'bar' False
3 2 2000-01-02 'organ' False
4 2 2000-02-01 'beef' False
5 3 2000-01-01 'pants' True
6 3 2000-01-10 'oranges' True
7 3 2000-02-20 'pants' False
关于python - Pandas 按群体检查 future 状况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36988306/
@messages = current_user.message_participantions.where(:read => false, :updated_at > 5.days.ago) 5 天
for ($i=1; $i query("UPDATE `jpa` SET `war` = $b WHERE `id` = $a"); $mysqli->query("UPDATE `
我试图根据数据中的 future 日期是否会发生条件来标记每一行。这种情况过去是否发生过并不重要。此外,我正在尝试按组执行此标记。 考虑这个问题的一个直观方法是是否有人会在未来购买裤子。 id
我的数据通过 ajax 返回到 Blade 中的表中,但我需要在返回的数据中使用过滤器。 示例 如果我使用 Blade 环,我可以使用@if ($loop->last)为了对我的最后一条记录进行特殊更
我有一个进程会触发多个请求,这些请求又会触发多个 Webhooks。当我收到所有网络钩子(Hook)时,我知道该过程已完成。我的模型看起来像这样。 { name: 'name', st
到目前为止,我知道 EOF 是一个特殊字符,自动插入到文本文件的末尾以指示其结束。但我现在觉得需要对此进行更多澄清。我在 Google 和 Wikipedia 页面上查看了 EOF,但他们无法回答以下
我在 javascript (React.j) 中编写了以下使用 for 循环的函数: getOpponentTeam: function(playerTeamId){ var matches =
我是 codeigniter 的新手,我想通过传递许多条件来选择用户的详细信息。我通过了一些条件,例如: $this->db->where ( 'userprofile.Disability', $
我是一名优秀的程序员,十分优秀!