简体   繁体   English

Python - 对 Pandas 数据框进行排序

[英]Python - Sorting Pandas dataframe

if I have a data frame as such:如果我有这样的数据框:

[[19 a, 27 b, 32 c], 
[21 b, 1 a, 100 c], 
[], 
[81 c, 70 a]]

how can I sort it to be:我怎样才能将它排序为:

[[19 a, 27 b, 32 c],
[1 a, 21 b, 100 c],
[null, null, null],
[70 a, null,  81 c]]

Where all a's are in column 1, b's in column 2 and c's in column 3. Furthermore, for empty fields, I would like to fill in a null value所有 a 在第 1 列中,b 在第 2 列中,c 在第 3 列中。此外,对于空字段,我想填写一个空值

I am a little bit confused about your "integer-text" values, but something like this can solve your problem:我对你的“整数文本”值有点困惑,但这样的事情可以解决你的问题:

li = [['19 a', '27 b', '32 c'], 
      ['21 b', '1 a', '100 c'], 
      [], 
      ['81 c', '70 a']]

def parse(item):
    parsed = []
    for letter in ['a', 'b', 'c']:
        match = ''.join(i for i in item if letter in i)
        parsed.append(match)
    return parsed

parsed = [parse(item) for item in li]
print(parsed)

output:输出:

[['19 a', '27 b', '32 c'], 
 ['1 a', '21 b', '100 c'], 
 ['', '', ''], 
 ['70 a', '', '81 c']]

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM