Python - 对Pandas数据帧进行排序

时间:2017-10-10 11:07:55

标签: python pandas sorting fill

如果我有这样的数据框:

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

我怎样才能将它排序为:

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

如果所有内容都在第1列,b在第2列,c在第3列。此外,对于空字段,我想填写空值

1 个答案:

答案 0 :(得分:0)

我对你的“整数文本”值有点困惑,但这样的事情可以解决你的问题:

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)

输出:

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