【DataFrame】增加数据

 添加数据
1、给数据框最后添加一列

例如给如下数组添加一列:
在这里插入长图片描述
数组名为df1,给df1加score一列:

df1['score']=[80,98,67,90]

    1

可以直接命名列名,赋值数据即可。
注意:增加列的元素个数要跟原数据列的个数一样
2、在具体某个位置插入一列可以用 insert 的方法

    df1.insert(iloc,column,value)

iloc:要插入的位置
colunm:列名
value:值
例如:在列索引为2的位置,插入birth一列

df1.insert(2,'birth',['1995-07-01','1998-09-04','1993-11-03','1994-04-17'])

    1

结果:
在这里插入图片描述
3、单独拿出来列名进行添加列操作(reindex重新构建索引)

思路:①将列索引拿出来②插入新的列③重新构建索引④给新列赋值

col_name=df1.columns.tolist() # 将数据框的列名全部提取出来存放在列表里
print(col_name)  #输出:['name', 'gender', 'birth', 'age', 'score']
col_name.insert(2,'city') # 在列索引为2的位置插入一列,列名为:city,刚插入时不会有值,整列都是NaN
print(col_name)  #输出:['name', 'gender', 'city', 'birth', 'age', 'score']
df1=df1.reindex(columns=col_name) # DataFrame.reindex() 对原索引重新构建索引值
print(df1)
'''

     name gender  city       birth  age  score
0    Show      M   NaN  1995-07-01   22     80
1  Tyrion      M   NaN  1998-09-04   32     98
2   Sansa      F   NaN  1993-11-03   18     67
3    Arya      F   NaN  1994-04-17   14     90
'''
df1['city']=['北京','山西','湖北','澳门'] # 给city列赋值
print(df1)
'''
输出
     name gender city       birth  age  score
0    Show      M   北京  1995-07-01   22     80
1  Tyrion      M   山西  1998-09-04   32     98
2   Sansa      F   湖北  1993-11-03   18     67
3    Arya      F   澳门  1994-04-17   14     90
'''

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24

4、插入一行(会被覆盖,可以进行分割合并的方式)

df1=pd.DataFrame([['Show','M',22],['Tyrion','M',32],['Sansa','F',18],['Arya','F',14]],columns=['name','gender','age'])
row=['111','222','333']
df1.iloc[1]=row
print(df1)

    1
    2
    3
    4

在行索引为1的位置插入数据 ‘111’,‘222’,‘333’
结果:
在这里插入图片描述
5、先创建一个DataFrame,用来增加数据框的最后一行

new=pd.DataFrame({'name':'lisa',
                 'gender':'F',
                 'age':19
                 },index=[0]
                )
print(new)
'''输出为:
   name gender  age
0  lisa      F   19
'''

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10

给df1最后添加一行:

df1=df1.append(new,ignore_index=True)

    1

ignore_index=True,表示不按原来的索引,从0开始自动递增
————————————————
版权声明:本文为CSDN博主「糖潮丽子」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_39783601/article/details/104436303

你可能感兴趣的:(python,pandas,开发语言)