python - 基于分隔符的python中的位置拆分数据帧
问题描述
我有一个这样的数据框:
df=
users|userids
user1|1
user3|3
user1,user2|1,2
user3,user4|3,4
user1,user3|1,3
user5,user6,user2|5,6,2
user11,user12,user13,user14,user15|11,12,13,14,15
现在我希望将数据框拆分如下:
df_modified=
user|userid
user1|1
user2|2
user3|3
user4|4
user5|5
user6|6
user11|11
user12|12
user13|13
user14|14
user15|15
我努力了
df_modified=df.pivot(columns='users',values='userids')
不起作用。实际上 df 中的值是字符串类型
解决方案
让我们使用.str.split
分隔符周围的列拆分字符串,,
然后将拆分的字符串np.hstack
水平堆叠在列中,最后从这些堆叠的列创建新的数据框:
df_mod = pd.DataFrame({'users': np.hstack(df['users'].str.split(',')),
'userids': np.hstack(df['userids'].str.split(','))})\
.drop_duplicates('users', ignore_index=True)
users userids
0 user1 1
1 user2 2
2 user3 3
3 user4 4
4 user5 5
5 user6 6
6 user11 11
7 user12 12
8 user13 13
9 user14 14
10 user15 15
推荐阅读
- c# - 为什么我不能在类中分配实例成员变量
- postgresql - Docker-compose 与 postgres 与地理 postgis 不工作
- mysql - 当连接池耗尽时,新查询会发生什么?
- java - 如何删除 JProgressbar 中的突出显示
- mysql - MySQL 工作台在创建外键时显示错误
- excel - 如何将串行端口(例如 COM 3)的输入以十六进制形式读取到 Excel 文件中?
- d3.js - D3 在堆积面积图中添加点
- javascript - 为什么 Chrome 扩展程序不呈现从服务器发送的值?
- reactjs - React-text-mask 未将输入值格式化为印度货币格式
- python-3.x - 需要帮助从另一个字典中的元组字典转换一些键