将元组列表转换为Pandas DataFrame:以第二个元素为列名
解决方案
可以用Pandas轻松实现这个需求,核心思路是把每个子列表转换成以元组第二个元素为键、第一个元素为值的字典,再用这些字典生成DataFrame即可。
代码实现
import pandas as pd data = [[('abc', 'type1'), ('def', 'type2'), ('ghi', 'type3')], [], [('jkl', 'type4')], [('mno', 'type1'), ('pqr', 'type3')]] # 将每个子列表转换为字典,键对应列名,值对应单元格内容 processed_data = [dict(sub_list) for sub_list in data] # 生成目标DataFrame df = pd.DataFrame(processed_data) print(df)
输出结果
type1 type2 type3 type4 0 abc def ghi NaN 1 NaN NaN NaN NaN 2 NaN NaN NaN jkl 3 mno NaN pqr NaN
说明
- 每个子列表转成字典后,Pandas会自动收集所有出现过的键作为列名
- 每个字典对应DataFrame的一行,没有对应键的位置会自动填充
NaN,完全匹配你要的格式
内容的提问来源于stack exchange,提问作者s.b
相关产品推荐
相关产品推荐

