Python 在数据框中循环日期
我无法在此数据上创建循环:Python 在数据框中循环日期,python,pandas,Python,Pandas,我无法在此数据上创建循环: TCT 03/02/2020 105 03/03/2020 68 03/16/2020 55 03/08/2020 37 03/10/2020 36 通过high=df['Date']获取。值计数()。到帧('TCT')。头(5) 我想看看我的数据框中是否包含每个日期的一些单词。要搜索单词,我正在执行以下操作: word=['mum','old man','children','family] sub_df.apply(lambda
TCT
03/02/2020 105
03/03/2020 68
03/16/2020 55
03/08/2020 37
03/10/2020 36
通过high=df['Date']获取。值计数()。到帧('TCT')。头(5)
我想看看我的数据框中是否包含每个日期的一些单词。要搜索单词,我正在执行以下操作:
word=['mum','old man','children','family]
sub_df.apply(lambda x : x.str.contains('|'.join(word))).any(1)]
ref='03/02/2020'
sub_df=df[df['Date']==ref]
其中sub_df
定义如下:
word=['mum','old man','children','family]
sub_df.apply(lambda x : x.str.contains('|'.join(word))).any(1)]
ref='03/02/2020'
sub_df=df[df['Date']==ref]
范例
Date Tt
03/02/2020 indent code by 4 spaces ...
03/02/2020 backtick escapes
...
03/03/2020 add language identifier to highlight code
03/03/2020 create code fences with backticks ` or tildes ~...
...
03/06/2020 to make links (use https whenever possible)
如何在上述日期中包含循环
df.set_index('date_column')
df.loc[ref].query(f'column == {value}')
# or
def is_substr(row, value):
if value in row:
return row
else:
return None
df.loc[ref]['column'].apply(is_substr, args=['sub_string'])
然后使用df.isna().sum()
或df.dropna()
首先,请提供几行
sub_df
为什么不将date列设置为索引列,df.set_index(…)
?@Balaji Ambresh,我更新了数据集谢谢你的回答@m-zayan。我有一个问题:由于我的子数据集是由一个计数器生成的,我没有日期列的名称,所以我应该在代码中使用什么?日期应为groupby中已选择的日期,即频率最高的日期如果您的意思是,您已经选择了sub_数据日期索引,那么您可以直接使用sub_数据。应用(…)
检查每行中是否包含特定的子字符串,然后使用sub\u数据。dropna()
删除不包含所需子字符串的行,以防需要获取频率最高的日期numpy.unique(column,return\u count=true)
。谢谢@m-zayan。由于问题中的第一个表中缺少信息(列名)日期,我如何在您的代码中调用它?您可以重命名它,但在我看来,日期列已经是索引列,您可以检查sub_df.index
,即您可以引用df.index
df.loc['1/2/2020']
相当于sub_df=df[df['Date']==ref]
作为ref=1/2/2020
参考日期,我使用Date列作为更有效的索引列,您实际需要的是使用sub_df。apply(..)
,所有其他函数都只是补充函数,因此,如果您已经有自己的代码来获取具有最高频率日期的sub_df,那么您可以忽略这些函数中的任何一个,例如。set_index(..)
,但请注意,您需要使用。apply(..)
和特定列pd。系列