Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 熊猫分组方式和筛选方式_Python_Pandas - Fatal编程技术网

Python 熊猫分组方式和筛选方式

Python 熊猫分组方式和筛选方式,python,pandas,Python,Pandas,我有一个数据框data,我有一个datetime列,名为created\u at,还有一个名为text的列。我想提取在day创建的u与输入日期(从给定范围)匹配的行,以及以字母“a”开头的text值 我的数据框相当大,所以我认为最初我应该按天分组,然后使用分组的数据框来过滤每一天和文本 data.set_index('created_at').groupby(pd.Grouper(freq='D')) 但是,我不确定如何应用最终过滤器。(我也不确定这是否是实现我想要的最好方法)我不知道其余的,

我有一个数据框
data
,我有一个
datetime
列,名为
created\u at
,还有一个名为
text
的列。我想提取在day创建的
u与输入日期(从给定范围)匹配的行,以及以字母“a”开头的
text

我的数据框相当大,所以我认为最初我应该按天分组,然后使用分组的数据框来过滤每一天和文本

data.set_index('created_at').groupby(pd.Grouper(freq='D'))

但是,我不确定如何应用最终过滤器。(我也不确定这是否是实现我想要的最好方法)

我不知道其余的,因为你没有给我们一个短端版本的示例,但我至少可以将输入与列匹配

input = input("input datetime :  ")
created_at_column = df.loc[:, created_at] # df is your DataFrame
[x for x in list(created_at_column) if x == input]


    

正如@HenryEcker所说,很难为你确定最佳选择。 我从nltk生成2021-05-01和2021-05-31之间的1836个日期和1836个单词(小写)


? 对数据帧的外观和实现目标的了解非常少,很难确定这是否是实现目标的最佳方式。@HenryEcker我想获得在
创建的
与我给它的日期匹配的实体,
文本
列也应该以“a”开头。唯一的问题是dataframe本身有很多行,我想做很多天的这个操作。
# criteria
input_day = "2021-05-30"
first_letter = "a"

# Pandas to Numpy
created_at = data["created_at"].dt.date.values.astype("datetime64[D]")
text = data["text"].values.astype("<U1")  # keep only the first letter

# Filter
out = data.iloc[np.nonzero((created_at == np.datetime64(input_day))
                           & (text == first_letter))]
>>> out
                        created_at            text
1794 2021-05-30 07:54:46.103542234    alienability
1819 2021-05-30 17:43:19.455040872  anthologically
1820 2021-05-30 18:06:51.989100817     appreciativ
1830 2021-05-30 22:02:17.329700272     acoustician
1832 2021-05-30 22:49:22.397820163       afternote