我有一个这样的现有数据框
$('#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
有什么想法可以实现吗?
答案 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