python - 如何通过分隔符拆分列,同时尊重要分隔的项目的相对位置
问题描述
下面是我在 Python 中使用 pandas 的通用数据框的脚本。我希望在数据框中拆分将创建新列的特定列,同时尊重原始列中项目的原始方向。
请看下面我的清晰度。先感谢您!
我的脚本:
import pandas as pd
import numpy as np
df = pd.DataFrame({'col1': ['x,y,z', 'a,b', 'c']})
print(df)
这就是我想要的
df = pd.DataFrame({'col1': ['x',np.nan,np.nan],
'col2': ['y','a',np.nan],
'col3': ['z','b','c']})
print(df)
这就是我得到的
df = pd.DataFrame({'col1': ['x','a','c'],
'col2': ['y','b',np.nan],
'col3': ['z',np.nan,np.nan]})
print(df)
解决方案
您可以使用此答案中的justify
功能:Series.str.split
dfn = pd.DataFrame(
justify(df['col1'].str.split(',', expand=True).to_numpy(),
invalid_val=None,
axis=1,
side='right')
).add_prefix('col')
col0 col1 col2
0 x y z
1 None a b
2 None None c
推荐阅读
- stripe-payments - 使用条带向连接的帐户收费
- java - 数组中有字符串和整数的二维冒泡排序java程序
- android-studio - 运行“应用程序”时出错:未找到默认活动(Android Studio)
- reactjs - 如何获取 React Native 镜像失败错误码
- r - 计算字符串序列的平均值,删除任何 1SD 或更大的值,然后用平均值替换删除的值
- php - 带有 PHP 错误和存储过程的 sqlsrv_execute 错误
- excel - MergeWorkbooks - 在第 21 个单元格中找到的值
- regex - sed/grep - 显示第 1 列和第 5 列,删除第 5 列中的逗号并交换 Last-First,并在 /etc/passwd 中按姓氏字母顺序排序
- javascript - 如何替换一个json对象的所有属性名
- reactjs - 使用 next.js 和样式化组件重新加载时的 Flash Of Unstyled Text (FOUT)