我正在尝试将行df[0] = [0,360, 0, 0, 0,2,3.9,100.01,100,0]
添加到我的数据框df
,如下所示,但得到错误ValueError: Length of values does not match length of index
。我不知道为什么会这样,因为这一行有10个值,有10列。
dt months_to_maturity asset_id orig_iss_dt \
1 2016-02-15 6 (BINARY DATA) 1986-02-18 00:00:00.0
2 2016-08-01 12 (BINARY DATA) 1986-08-01 00:00:00.0
3 2017-02-06 18 (BINARY DATA) 1987-02-06 00:00:00.0
maturity_dt pay_freq_cd coupon closing_price FACE_VALUE \
1 2016-02-15 00:00:00.0 2 9.250 105.40625 100
2 2016-08-01 00:00:00.0 2 9.380 105.86200 100
3 2017-02-06 00:00:00.0 2 8.450 111.42610 100
dt2
1 1970-01-01 00:00:00.000000002
2 1970-01-01 00:00:00.000000002
3 1970-01-01 00:00:00.000000002
谢谢
答案 0 :(得分:2)
因为
df[0] = ...
是添加列而不是行的语法,因此右侧的数组应该与列的长度相同,即行数(或标量)。如果你想添加一行做
df.loc[0] = <values>
我想部分混淆来自这样一个事实:这与numpy语法相反,在某种意义上a[0] = <values>
将值分配给第0行而不是列。