• 主页

  • 投资

  • IT

    🔥
  • 设计

  • 销售

  • 共95篇

    python3.X - 数据分析 - Pandas

关闭

返回栏目

关闭

返回python3.X - 数据分析 - Pandas栏目

48 - 行级 - df.append(s) - 增加行

作者:

贺及楼

成为作者

更新日期:2024-08-14 12:49:22

append()增加行

append 增加行

  1. import numpy as np
  2. import pandas as pd
  3. # 可以 append字典列表,同样需要必须ignore_index:
  4. ls = [{'A': 16, 'B': 17, 'C': 18, 'D': 19}, {'A': 20, 'B': 21, 'C': 22, 'D': 23}]
  5. df = df.append(ls, ignore_index=True)
A B C D
0 16 17 18 19
1 20 21 22 23
  1. # 添加有name的Series:
  2. s = pd.Series([24, 25, 26, 27], index=df.columns, name='5')
  3. df = df.append(s)
A B C D
0 16 17 18 19
1 20 21 22 23
5 24 25 26 27
  1. # 添加没有name的Series,必须ignore_index:
  2. s = pd.Series([28, 29, 30, 31], index=df.columns)
  3. 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

逐行增加

  1. # 简单的逐行添加内容,可以:
  2. df.loc[len(df)] = [32, 33, 34, 35]
  3. # 但需要注意: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

  1. # 想增加一行,行名称为"5",内容为[16, 17, 18, 19]
  2. df.loc['5'] = [36, 37, 38, 39] # 后面的序列是Iterable就行
  3. df.loc[i]={'a':1,'b':2}
  4. df.at['5'] = [40, 41, 42, 43]
  5. df.set_value('5', df.columns, [44, 45, 46, 47], takeable=False)
  6. # warning,set_value会被取消

插入行

增加行没找到类似insert这种可以插入的方法,暂时替代方法可以先reindex,再赋值:

  1. df = df.reindex(index=df.index.insert(2, '5'))
  2. df.loc['5'] = [16, 17, 18, 19]