如何将行插入数据框

时间:2020-07-28 11:54:26

标签: python pandas

我有一个这样的现有数据框

$('#t_username').blur(function() {

  //Username
  var username = $(this).val();
  
  console.log(username)
  
  //Ajax
  $.ajax({
    url: "action.php",
    method: "POST",
    data: {
      user_name: username  //this needed a fix
    },
    dataType: "text",
    success: function(html) {
      $('#availability').html(html);
    }
  });
});

我想在其中添加{'sid':2,'':100}这样的行,但是当我尝试这样做的时候

>>> print(dataframe)
sid
30      11
56       5
73      25
78       2
132      1
        ..
8531    25
8616     2
9049     1
9125     6
9316    11
Name: name, Length: 87, dtype: int64

我最终以

df = pandas.DataFrame({'sid': [2], '': [100]})
df = df.set_index('sid')
dataframe = dataframe.append(df)
print(dataframe)

我希望有更多类似的东西

sid              
30    11.0    NaN
56     5.0    NaN
73    25.0    NaN
78     2.0    NaN
132    1.0    NaN
...    ...    ...
8616   2.0    NaN
9049   1.0    NaN
9125   6.0    NaN
9316  11.0    NaN
2      NaN  100.0

有什么想法可以实现吗?

2 个答案:

答案 0 :(得分:1)

做到这一点的方法是

dataframe.loc[2] = 100

谢谢你!

答案 1 :(得分:1)

导致上述问题的原因,因为在附加两个DataFrame时,您忘记将'sid'设置为dataframe索引。因此,基本上,两个DataFrame在追加时具有不同的结构。附加它们之前,请确保将两个数据框的索引设置为相同。

data = [ [30,11], [56, 5], [73, 25]]    #test dataframe 
dataframe = pd.DataFrame(data, columns=['sid', ''])
dataframe = dataframe.set_index('sid')
print(dataframe)

你得到

sid    
30   11
56    5
73   25

创建并设置df的索引,

df = pd.DataFrame({'sid' : [2], '' : [100]})
df = df.set_index('sid')

你得到

sid     
2    100

然后附加它们,

dataframe = df.append(dataframe)
print(dataframe)

您将获得不良结果,

sid     
2    100
30    11
56     5
73    25