作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个如下所示的 DataFrame。我尝试使用 pivot
转置它,但结果并不如我所愿。我想完成以下 -
df=pd.DataFrame({'ID_Patient':[11132,2755,9753,8453,4872],'Name_Patient':['Jim','Jack','Sue','Tom','James'],'Visits_Jan':[2,1,0,4,2],'Visits_Feb':[5,0,0,1,1],'Visits_Mar':[0,0,4,1,2]})
df=df[['ID_Patient','Name_Patient','Visits_Jan','Visits_Feb','Visits_Mar']]
df#The data set I wish to convert
Out[318]:
ID_Patient Name_Patient Visits_Jan Visits_Feb Visits_Mar
0 11132 Jim 2 5 5
1 2755 Jack 1 0 0
2 9753 Sue 0 0 0
3 8453 Tom 4 1 1
4 4872 James 2 1 1
我想把它转换成:
df_altered
Out[317]:
ID_Patient Name_Patient Month_of_visit Col1
0 11132 Jim Visits_Jan 2
1 11132 Jim Visits_Feb 5
2 11132 Jim Visits_Mar 5
3 2755 Jack Visits_Jan 1
4 2755 Jack Visits_Feb 0
5 2755 Jack Visits_Mar 0
6 9753 Sue Visits_Jan 0
7 9753 Sue Visits_Feb 0
8 9753 Sue Visits_Mar 0
9 8453 Tom Visits_Jan 4
10 8453 Tom Visits_Feb 1
11 8453 Tom Visits_Mar 1
12 4872 James Visits_Jan 2
13 4872 James Visits_Feb 1
14 4872 James Visits_Mar 1
最佳答案
通过使用堆栈
df.set_index(['ID_Patient','Name_Patient']).stack().reset_index()
Out[254]:
ID_Patient Name_Patient level_2 0
0 11132 Jim Visits_Jan 2
1 11132 Jim Visits_Feb 5
2 11132 Jim Visits_Mar 0
3 2755 Jack Visits_Jan 1
4 2755 Jack Visits_Feb 0
5 2755 Jack Visits_Mar 0
6 9753 Sue Visits_Jan 0
7 9753 Sue Visits_Feb 0
8 9753 Sue Visits_Mar 4
9 8453 Tom Visits_Jan 4
10 8453 Tom Visits_Feb 1
11 8453 Tom Visits_Mar 1
12 4872 James Visits_Jan 2
13 4872 James Visits_Feb 1
14 4872 James Visits_Mar 2
PS:使用 .rename(columns={})
更改列名
关于python - 在 pandas/python 中转置 DataFrame,但不是所有列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46734037/
我已经在 jQuery transit 中加载了,我确定我是在加载 jQuery 之后才做的,但我仍然得到这个错误: 我查看了 Chrome 中的资源面板,在 jQuery 之后加载了 jQuery
我目前收到一个字符串,例如 Hello there my\r\nName is\r\nJohn Smith\r\nand\r\nstuff 我想将每一行放在一个新列表项...例如: 期望的结果(带有单
我正在尝试使用 MapKit 路线请求获取两个坐标之间的交通路线。 当我切换到其他(非 Transit)类型时,下面的代码可以工作,但是当我切换到 Transit 时,它会抛出一个错误,这个错误在 A
我是一名优秀的程序员,十分优秀!