- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我的数据框有 3 列。 ID、日期类型(星期一 = 0、星期日 = 6)和数量。
我想以一种方式进行分组,对于每个“Id”,我将有 2 行,一行包含工作日(周一至周五)的总数,另一行包含周末。
Id Qty DayType
B07 581 0
B07 1096 1
B07 1245 2
B07 1080 3
B07 856 4
B07 581 5
B07 1096 6
B08 1345 0
B08 1580 3
B08 816 4
预期输出
Id Qty DayType
B07 4858 0
B07 1677 1
B08 3741 0
输出中 DayType 中的 0 表示工作日,1 表示周末。
此外,如果您可以建议稍后如何进行旋转,那将会非常有帮助
id weekday weekend
B07 4858 1677
B08 3741 0
我找到了一些基于条件的 groupby 解决方案,但在这种情况下,有两个条件我无法弄清楚如何实现。谢谢。
<小时/>根据 Ansev 建议的答案,我得到以下输出 -
Id Weekdays Weekend
B07 20817 3607
C03 22289 6569
F05 22807 6474
这是正确的。
但是当我根据 Ansev 在他的答案下的评论中的建议尝试非枢轴格式时,我得到了这个 -
id Qty DayType
B07 20817 43
B07 3607 44
C03 22289 43
C03 6569 44
F05 22807 43
正如您所看到的,它也添加了 DayType。我希望 0 和 1 代表工作日和周末。有什么建议吗?
最佳答案
理想的是使用 DataFrame.groupby
。要对一周中的某一天的类型进行分组,我们必须检查 df['DayType']
何时大于或等于 5,我们还应该对每个 ID
。由于 df['Day'Type'].ge(5)
返回 False
或 True
,我们可以使用 np.where
或Series.replace
/Series.map
将 True
和 False
替换为 weekdays
和 weekend
aggregate_df = (df.groupby(['Id',df['DayType'].ge(5).astype(int)])['Qty']
.sum().reset_index().reindex(columns = ['Id','Qty','DayType']))
print(aggregate_df)
Id Qty DayType
0 B07 4858 0
1 B07 1677 1
2 B08 3741 0
<小时/>
最后我们使用DataFrame.pivot_table
final_result = (aggregate_df.assign(DayType = aggregate_df['DayType'].map({0:'Weekdays',
1:'Weekend'}))
.pivot_table(columns='DayType',values = 'Qty',index='Id',fill_value=0)
.reset_index()
.rename_axis(columns=None))
print(final_result)
Id Weekdays Weekend
0 B07 4858 1677
1 B08 3741 0
关于python - 如何对一个键列进行分组,在第二列上使用条件并分别为工作日和周末添加第三列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59756486/
有人可以帮我解决这个问题吗?当填写周五、周六或周日时,需要返回"is",而在所有其他情况下,则需要返回“否”。每次它都以“JA”结尾...... 代码: // Nieuwe Array aan
我知道,标题并不具体,但我对 DatePicker 有疑问。我尝试禁用国庆节、周末和今天之后的 48 小时。目前我这样做了: 隐藏今天 + 48 小时,我使用 minDate: 3 隐藏周末 隐藏国庆
我必须计算以下两个日期之间的周末计数和假期计数。 var startDate = new Date("01/02/2014"); var endDate = new Date("02/
我正在尝试编写一个脚本来实现以下目的: 我需要根据一天中的时间和星期几将我页面上某个元素的颜色从绿色更改为红色。因此,例如,在星期六我需要一个不同于星期一的时间窗口。 我正在努力寻找有用的东西。我找到
给定 postgres 中的 2 个时间戳,你如何在不计算整个星期六和星期日的情况下计算时差? 或 如何计算给定时间间隔内的周六和周日的数量? 最佳答案 以下函数返回两个日期之间的完整周末天数。由于您
我无法在没有周末的情况下呈现日期时间图表。怎么做到的? 这是示例代码 ( http://jsfiddle.net/LLExL/1720/ ): $('#container').highcharts({
ax.plot_date((dates, dates), (highs, lows), '-') 我目前正在使用此命令通过 Matplotlib 绘制财务高点和低点.效果很好,但如何删除 x 轴上因没
从今天早上开始,我无法使用原始 HTTP 协议(protocol)在用户对象上设置 orgUnitPath。 PATCH /admin/directory/v1/users/testuser_1440
我有这些 Dag DAG_A(每天运行)、DAG_B(周一至周五运行)和 DAG_C(周六和周日运行),其中 DAG_A 依赖于 DAG_B 和 DAG_C。我尝试使用 External Task S
我正在使用 JQuery UI Datepicker Disbale Next Day After 12pm 中的代码禁用周末、公共(public)假期和第二天(如果在上午 10 点之后选择),但我不
我是一名优秀的程序员,十分优秀!