具有以下列的示例数据帧(df):
id created_time faid
0 21 2019-06-17 07:06:45 FF1854155
1 54 2019-04-12 08:06:03 FF30232
2 88 2019-04-20 05:36:03 FF1855531251
3 154 2019-04-26 07:09:22 FF8145292
4 218 2019-07-25 13:20:51 FF0143154
5 219 2019-04-30 18:50:24 FF04211
6 235 2019-04-30 20:37:37 FF0671380
7 266 2019-05-02 08:38:56 FF08070
8 268 2019-05-02 11:08:21 FF591087
我可以知道如何实现新的数据帧吗
hour count
07 2
08 2
. .
. .
尝试从创建的时间计算小时数。
按小时分组数
df['hour'] = pd.to_datetime(df['created_time']).dt.hour
res = df.groupby(['hour'],as_index=False)['faid'].count().rename(columns={"faid":"count"})
hour count
07 2
08 2
问题内容: 在Pandas DataFrame中,我可以使用函数将列值与另一列进行匹配。 例如:假设我们有一个DataFrame: 和另一个DataFrame: 我可以使用的功能相匹配的列值对的列值 例如: 产量: PySpark DataFrame中的等效操作是什么? 上面的代码给我一条错误消息: 问题答案: 这种操作在spark中称为“左半联接”:
当我像这样使用DataFrame groupby时: 我只会得到一个列为“age”和“count(id)”的DataFrame,但在df中,还有许多其他列,如“name”。 总之,我想得到MySQL中的结果, “按年龄从df组中选择姓名、年龄、计数(id)” 在Spark中使用groupby时该怎么办?
但我如何也摆脱这些假想呢?
我有一个问题,在这个例子中简化了。考虑这个熊猫数据帧,df_a: 我想通过将数量相加到一个新的数据框中,并创建一个新的类似于“arange”的索引来对这个数据框进行分组。这应该是我想要的结果: 但是我的努力创建了一个系列(我希望一个数据帧作为结果): 或者基于id列创建新索引: 我还尝试传递index参数,但这也不起作用: 有人对此有一个优雅的解决方案吗?
问题内容: 我有一个如下所示的Pandas DataFrame: 我想跨列获取某个值的计数。所以我的预期输出是这样的: 我知道如何跨行执行此操作,但是对列执行此操作有点奇怪?请帮助我解决这个问题吗?谢谢。 问题答案: 首先将其堆叠,然后使用value_counts: