下面是我使用 pandas 在 Python 中创建通用数据框的脚本。我希望拆分数据框中的某个列来创建新列,同时尊重原始列中项目的原始方向。
为了清楚起见,请参阅下文。预先感谢您!
我的脚本:
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)
最佳答案
您可以使用 this 中的 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
关于python - 如何通过分隔符分割列,同时尊重要分隔的项目的相对位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60915141/