如果找到零件,则将字符串分隔为新列

时间:2018-06-15 01:42:36

标签: python pandas

我有一个字符串列,其中包含多个感兴趣的值。我想把它分成很多部分。

auto iter = std::find(v.begin(), v.end(), choice);
if (iter != v.end())
{
    v.erase(iter);
    ...
}

理想的格式看起来像这样:

s = ['FEW:02 24 BKN:05 35 SCT:04 50', 'FEW:02 24 BKN:05 45']

Pandas有没有办法实现这个目标?

谢谢。

1 个答案:

答案 0 :(得分:2)

这是一个非常独特的问题,我只能在Op。

中为样本提供解决方案
df=pd.DataFrame(pd.Series(s).str.split(' |:').values.tolist())
new_df=df.loc[:,df.columns%3!=0]
new_df
Out[120]: 
    1   2   4   5     7     8
0  02  24  05  35    04    50
1  02  24  05  45  None  None
helpdf=df.loc[:,df.columns%3==0]
new_df.columns=helpdf.iloc[0].tolist()*2

new_df.columns=new_df.columns+'_'+pd.Series(['OKTA','ELEVATION']*(new_df.shape[1]//2))
new_df
Out[128]: 
  FEW_OKTA BKN_ELEVATION SCT_OKTA FEW_ELEVATION BKN_OKTA SCT_ELEVATION
0       02            24       05            35       04            50
1       02            24       05            45     None          None