回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我正在尝试展开数据帧的一列
(请参见下面示例中的列段。)
我能把它分解成由两个部件分开的部件;
但是,正如您所看到的,列中的某些行确实如此
没有所有的元素。那么,现在发生的是
应该进入Geo列的数据最终会进入
BusSeg柱,因为没有Geo柱;还是数据
应该在ProdServ列中,最后在Geo列中。
理想情况下,我只希望有数据,而不是指标
在每个单元格中正确放置。所以
在Geo栏中,它应该说“NonUs”。不是“Geo=NonUs”
那是正确分离后,我想删除文本
最多包括每个中的“=”符号。我该怎么做?
代码如下:</p>
<pre><code>import pandas as pd
company1 = ('Rev','Rev','Rev','Rev','Rev','Rev','Rev','Rev','Rev')
df1 = pd.DataFrame(columns=None)
df1['company'] = company1
df1['clv']=[500,200,3000,400,10,300,560,500,600]
df1['date'] = [20191231,20191231,20191231,20181231,20181231,20181231,20171231,20171231,20171231 ]
df1['line'] = [1,3,2,1,3,2,1,3,2]
df1['segments'] =['BusSeg=Pharma;Geo=NonUs;Prd=Alpha;Subseg=Tr1',
'BusSeg=Dev;Prd=Alpha;Subseg=Tr1',
'BusSeg=Pharma;Geo=US;Prd=Alpha;Subseg=Tr2',
'Subseg=Tr1',
'BusSeg=Pharma',
'Geo=China;Prd=Alpha;Subseg=Tr4;',
'Prd=Beta;Subseg=Tr1',
'BusSeg=Pharma;Geo=US;Prd=Delta;Subseg=Tr1;',
'BusSeg=Pharma;Geo=NonUs;']
print("\ndf1:")
df1[['BusSeg','Geo','ProdServ','Sub','Misc']] = df1['segments'].str.split(';',expand=True)
print(df1)
print(df1[['BusSeg','Geo','ProdServ','Sub','Misc']])
print(df1.dtypes)
print()
</code></pre>