Pandas DataFrame如何去除指定列的列表包裹并处理多元素内容
解决方案
核心实现逻辑非常简洁:对需要处理的4列,直接对每个单元格的列表执行空格拼接即可,无需额外判断列表长度:单元素列表拼接后直接得到对应的字符串值,多元素列表会自动按空格分隔拼接,完全匹配需求。
完整实现代码
import pandas as pd data = {'ID': [['NT0235'],['NT0236'],['NT0237'],['NT0238'],['NT0239']], 'Title': [['bla bla bla'] , ['bla bla bla'] , ['bla bla bla'], ['bla bla bla'] , ['bla bla bla']], 'Sponsor name': [['sponsor name1'], ['sponsor name2'], ['sponsor name3'], ['sponsor name4'], ['sponsor name5']], 'Date': ['2021-08-13','2021-08-12','2021-08-11','2021-08-10','2021-08-09'], 'Comparator': [['comparator1'], ['comparator2'], ['comparator3'], ['comparator4'], ['comparator5']] } df = pd.DataFrame(data) # 定义需要处理的列清单 process_cols = ['ID', 'Title', 'Sponsor name', 'Comparator'] # 遍历列的每个单元格,对列表执行空格拼接 df[process_cols] = df[process_cols].applymap(' '.join) # 打印验证结果 print(df)
输出结果
ID Title Sponsor name Date Comparator 0 NT0235 bla bla bla sponsor name1 2021-08-13 comparator1 1 NT0236 bla bla bla sponsor name2 2021-08-12 comparator2 2 NT0237 bla bla bla sponsor name3 2021-08-11 comparator3 3 NT0238 bla bla bla sponsor name4 2021-08-10 comparator4 4 NT0239 bla bla bla sponsor name5 2021-08-09 comparator5
内容的提问来源于stack exchange,提问作者Electra
相关产品推荐
相关产品推荐

