python - 是否可以提取数据框中的数据并调整其大小?

标签 python pandas

我想从数据框中提取数据,例如,我有两列,All_id 和 Patnum

                                           All_id      PatNum
    429/326 | 429/218.1 | 429/219 | 429/220 | 429/221   US4057679
                      429/185 | 429/215 | 429/231.95    US4071662
                                  429/623.5 | 429/221   US4021911
                                             429/136    US4041218
                         429/171 | 429/174 | 429/180    US4048401

我想要的预期结果是

All_id     PatNum
429/326    US4057679
429/218.1  US4057679
429/219    US4057679
429/220    US4057679
429/221    US4057679
429/185    US4071662
429/215    US4071662
429/231.95 US4071662
429/623.5  US4021911
429/221    US4021911
429/136    US4041218
429/171    US4048401
429/174    US4048401
429/180    US4048401

提前谢谢

最佳答案

将字符串展平为列表,并使用 splitrepeat 重新创建数据框

s=df.All_id.str.split('|')
pd.DataFrame({'All_id':sum(s,[]),'PatNum':df.PatNum.repeat(s.str.len())})
Out[484]: 
      All_id     PatNum
0    429/326  US4057679
0  429/218.1  US4057679
0    429/219  US4057679
0    429/220  US4057679
0    429/221  US4057679

关于python - 是否可以提取数据框中的数据并调整其大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52859485/

相关文章:

Python/MySQL - 加载数据本地INFILE

python - 将Word文件与python-docx合并并添加分页符

python: try/except/else and continue 语句

python - 使用不同长度的 Pandas 数据帧计算滚动窗口的加权和

python numpy roll带填充

python - 轮盘赌选择 : unsupported operand type(s) for &: 'numpy.float64' and 'numpy.float64'

python - 如何在 python 中有效地合并两个具有容差的数据帧

python - 使用 pd.concat(x,y) 时引起的有线移位

python - 过滤 Pandas 数据框和覆盖不会改变数据框

python - 如何使用列作为索引获取 pandas 数据框中某个位置的单元格