|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
想把下面的数据帧name列简化成最下面的内容,请大师帮忙,谢谢
import pandas as pd
data = [['AA','光伏设备32/48净值占比2.51|芯能科技32 ?医疗服务1/42净值占比3.75|药明康德1 ?有色金属18/76净值占比4.39|钢研高纳18'],[],
['BG','有色金属18/76净值占比4.39|钢研高纳18 ?电子元件18/134净值占比5.31|航天电器18 ?电源设备10/27净值占比8.82|新雷能10']]
columns = ["编号",'name']
df = pd.DataFrame(data, columns=columns)
print(df)
print(df)
data = [['光伏设备/2.51;医疗服务/3.75;有色金属4.39’],
[],
[‘有色金属4.39;电子元件/5.31;电源设备/8.82’]]
- import pandas as pd
- data = [['AA','光伏设备32/48净值占比2.51|芯能科技32 ?医疗服务1/42净值占比3.75|药明康德1 ?有色金属18/76净值占比4.39|钢研高纳18'],
- ['BG','有色金属18/76净值占比4.39|钢研高纳18 ?电子元件18/134净值占比5.31|航天电器18 ?电源设备10/27净值占比8.82|新雷能10']]
- columns = ["编号",'name']
- df = pd.DataFrame(data, columns=columns)
- def simplify_name(value):
- items = value.split('?')
- simplified_items = []
- for item in items:
- tokens = item.split('净值占比')
- if len(tokens) > 1:
- simplified_items.append(tokens[0].strip() + '/' + tokens[1].split('|')[0].strip())
- return ';'.join(simplified_items)
- df['name'] = df['name'].apply(simplify_name)
- print(df)
复制代码
|
|