在特定行中附加数据框

时间:2019-10-09 10:16:26

标签: pandas dataframe

我具有以下格式的数据框

a   b   label
1   5   A
2   6   A
3   7   A
4   8   B
1   5   B
2   6   B
5   6   C
3   2   C

我要附加新的数据框

a   b   label
3   4   A

结果变成这个

a   b   label
1   5   A
2   6   A
3   7   A
4   8   B
1   5   B
2   6   B
5   6   C
3   2   C
3   4   A <-- New Data

我的问题是,每次添加新数据后,如何订购新数据

a   b   label
1   5   A
2   6   A
3   7   A
3   4   A <-- New Data
4   8   B
1   5   B
2   6   B
5   6   C
3   2   C

这是我的代码

import pandas as pd
df1 =  pd.DataFrame({"a":[1, 2, 3, 4, 1, 2,5,3], 
                         "b":[5, 6, 7, 8, 5, 6,6,2],
                         "label":['A','A','A','B','B','B','C','C']}) 

new_data = pd.DataFrame({"a":[3],
                         "b":[4],
                         "label":['A']})

df1 = df1.append(new_data,ignore_index = True)

1 个答案:

答案 0 :(得分:0)

您只需在追加数据框后在label列上对其进行排序

import numpy as np
import pandas as pd
df1 =  pd.DataFrame({"a":[1, 2, 3, 4, 1, 2,5,3], 
                         "b":[5, 6, 7, 8, 5, 6,6,2],
                         "label":['A','A','A','B','B','B','C','C']}) 

new_data = pd.DataFrame({"a":[3],
                         "b":[4],
                         "label":['A']})

df1 = df1.append(new_data,ignore_index = True).sort_values(by='label')

结果:

a  b   label
1  5     A
2  6     A
3  7     A
3  4     A  <-- new data here
4  8     B
1  5     B
2  6     B
5  6     C
3  2     C