use*_*146 2 python dataframe pandas
让我假设我有
ID A1 B1 A2 B2
1 3 4 5 6
2 7 8 9 10
Run Code Online (Sandbox Code Playgroud)
我想使用pandas stack并希望实现类似的功能
ID A B
1 3 4
1 5 6
2 7 8
2 9 10
Run Code Online (Sandbox Code Playgroud)
但我得到的是
ID A B
1 3 4
2 7 8
1 5 6
2 9 10
Run Code Online (Sandbox Code Playgroud)
这就是我正在使用的
df.stack().reset_index().
Run Code Online (Sandbox Code Playgroud)
是否有可能使用Stack实现这样的东西?append()在熊猫中的方法做到这一点,但如果可能的话我想实现使用pandas stack()任何想法吗?
你可以使用pd.wide_to_long:
pd.wide_to_long(df, ['A','B'], 'ID', 'value', sep='', suffix='.+')\
.reset_index()\
.sort_values('ID')\
.drop('value', axis=1)
Run Code Online (Sandbox Code Playgroud)
输出:
ID A B
0 1 3 4
2 1 5 6
1 2 7 8
3 2 9 10
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
95 次 |
| 最近记录: |