append 增加行
import numpy as npimport pandas as pd# 可以 append字典列表,同样需要必须ignore_index:ls = [{'A': 16, 'B': 17, 'C': 18, 'D': 19}, {'A': 20, 'B': 21, 'C': 22, 'D': 23}]df = df.append(ls, ignore_index=True)
|
A |
B |
C |
D |
| 0 |
16 |
17 |
18 |
19 |
| 1 |
20 |
21 |
22 |
23 |
# 添加有name的Series: s = pd.Series([24, 25, 26, 27], index=df.columns, name='5')df = df.append(s)
|
A |
B |
C |
D |
| 0 |
16 |
17 |
18 |
19 |
| 1 |
20 |
21 |
22 |
23 |
| 5 |
24 |
25 |
26 |
27 |
# 添加没有name的Series,必须ignore_index:s = pd.Series([28, 29, 30, 31], index=df.columns)df = df.append(s, ignore_index=True)
|
A |
B |
C |
D |
| 0 |
16 |
17 |
18 |
19 |
| 1 |
20 |
21 |
22 |
23 |
| 2 |
24 |
25 |
26 |
27 |
| 3 |
28 |
29 |
30 |
31 |
逐行增加
# 简单的逐行添加内容,可以:df.loc[len(df)] = [32, 33, 34, 35]# 但需要注意:len(df)生成的是int,如果生成的int,df已经存在了,会覆盖该行数据,而不会新增
|
A |
B |
C |
D |
| 0 |
16 |
17 |
18 |
19 |
| 1 |
20 |
21 |
22 |
23 |
| 2 |
24 |
25 |
26 |
27 |
| 3 |
28 |
29 |
30 |
31 |
| 4 |
32 |
33 |
34 |
35 |
增加行loc,at,set_value
# 想增加一行,行名称为"5",内容为[16, 17, 18, 19]df.loc['5'] = [36, 37, 38, 39] # 后面的序列是Iterable就行df.loc[i]={'a':1,'b':2}df.at['5'] = [40, 41, 42, 43]df.set_value('5', df.columns, [44, 45, 46, 47], takeable=False)# warning,set_value会被取消
插入行
增加行没找到类似insert这种可以插入的方法,暂时替代方法可以先reindex,再赋值:
df = df.reindex(index=df.index.insert(2, '5'))df.loc['5'] = [16, 17, 18, 19]