【发布时间】:2017-12-19 15:33:12
【问题描述】:
我想使用 pandas 为数据 df 生成一个矩阵,其逻辑如下:
按 id 分组
低:中上:结束
对于第 1 天:计数 if(如果水平有 Mid 和 End 并且如果 day == 1)
对于第 2 天:计数 if(如果水平有 Mid 和 End 并且如果 day == 2)
….
开始:从中到新
对于第 1 天:计数 if(如果级别有 Mid 和 New 并且如果 day == 1)
对于第 2 天:计数 if(如果级别有 Mid 和 New 并且如果 day == 2)
….
df = pd.DataFrame({'Id':[111,111,222,333,333,444,555,555,555,666,666],'Level':['End','Mid','End','End','Mid','New','End' ,'New','Mid','New','Mid'],'day' : ['',3,'','',2,3,'',3,4,'',2] })
Id |级别 |天
111 |结束|
111 |中| 3
222 |结束|
333 |结束|
333 |中| 2
444 |新| 3
555 |结束|
555 |新| 3
555 |中| 4
666 |新|
666 |中| 2
矩阵如下所示:
低顶 day1 day2 day3 day4
中端 0 1 1 0
中新 0 1 0 1
新结局 0 0 1 0
新中期 0 0 0 1
谢谢!谢谢!
【问题讨论】:
-
你能发一个
df的内容的例子吗?此外,如果您在每行代码/数据之前添加换行符和四个空格,也会有很大帮助。 -
我发布了 df 和换行符 :)
-
使用 button
{}格式化数据。 -
我添加了数据框。希望这会让事情变得更容易
-
逻辑是什么?你能简化你的问题吗?