对熊猫数据框中的字符串值模式进行排序

时间:2021-01-24 07:26:54

标签: python pandas sorting

我有一个数据框,其中包含几行类似值的字典的字符串。

示例输出:

"{'romantic': False, 'intimate': False, 'touristy': False, 'hipster': False, 'divey': False, 'classy': False, 'trendy': False, 'upscale': False, 'casual': False}"

稍后我将要使用 str.split 方法将每个不同的属性拆分为自己的列。然而,现在的问题是,并非数据框中的所有行都会遵循这种从浪漫到随意的特定序列。有些可能有这样的序列,例如,亲密是第一个属性,而最后一个属性是高档的,而不是像示例中的休闲输出。我要指出的是,整个数据的结构方式没有一致的模式。例如,是否可以按字母顺序对所有值进行排序,以便我们在整个 df 中获得一致的值模式?

示例数据:

{'romantic': False, 'intimate': False, 'classy': True, 'hipster': False, 'divey': False, 'touristy': False, 'trendy': False, 'upscale': True, 'casual': False}

{'romantic': False, 'intimate': False, 'classy': False, 'hipster': False, 'divey': False, 'touristy': False, 'trendy': False, 'upscale': False, 'casual': True}

None

{'romantic': False, 'intimate': False, 'classy': False, 'hipster': False, 'divey': False, 'touristy': False, 'trendy': False, 'upscale': False, 'casual': True}

None

None

{'romantic': False, 'intimate': False, 'touristy': False, 'hipster': False, 'divey': False, 'classy': False, 'trendy': False, 'upscale': False, 'casual': False}

{'touristy': False, 'hipster': False, 'romantic': False, 'intimate': False, 'trendy': False, 'upscale': False, 'classy': False, 'casual': False}

{'romantic': False, 'intimate': False, 'classy': False, 'hipster': False, 'divey': False, 'touristy': False, 'trendy': False, 'upscale': False, 'casual': True}

None

None

{'romantic': False, 'intimate': False, 'classy': False, 'hipster': False, 'divey': False, 'touristy': False, 'trendy': False, 'upscale': False, 'casual': True}

{'touristy': False, 'hipster': False, 'romantic': False, 'intimate': False, 'trendy': False, 'upscale': False, 'classy': True, 'casual': True}

预期输出:

{'romantic': False, 'intimate': False, 'classy': True, 'hipster': False, 'divey': False, 'touristy': False, 'trendy': False, 'upscale': True, 'casual': False}

{'romantic': False, 'intimate': False, 'classy': False, 'hipster': False, 'divey': False, 'touristy': False, 'trendy': False, 'upscale': False, 'casual': True}

{'romantic': False, 'intimate': False, 'classy': False, 'hipster': False, 'divey': False, 'touristy': False, 'trendy': False, 'upscale': False, 'casual': True}

对于当前不存在的所有数据行,属性的顺序基本上应该是浪漫、亲密、优雅、时髦、潜水、旅游、时尚、高档、休闲。

0 个答案:

没有答案