• 技术文章 >常见问题 >Python常见问题

    python数据怎么添加列?

    yangyang2020-05-29 11:43:05原创10571

    python在DataFrame数据中添加列的方法:

    1、使用concat方法在数据中添加列

    concat方法相当于数据库中的全连接(union all),它不仅可以指定连接的方式(outer join或inner join)还可以指定按照某个轴进行连接。

    示例:

    import pandas as pd
     
    feature = pd.read_csv("C://Users//Machenike//Desktop//xzw//lr_train_data.txt", delimiter="\t", header=None, usecols=[0, 1])
    feature.columns = ["a","b"]
    print(feature.head())
    feature = pd.concat([feature, pd.DataFrame(columns=list('c'))])
    print(feature.head())

    利用concat()函数添加的结果如下:

              a         b
    0  4.459256  8.225418
    1  0.043276  6.307400
    2  6.997162  9.313393
    3  4.754832  9.260378
    4  8.661904  9.767977
              a         b    c
    0  4.459256  8.225418  NaN
    1  0.043276  6.307400  NaN
    2  6.997162  9.313393  NaN
    3  4.754832  9.260378  NaN
    4  8.661904  9.767977  NaN

    2、使用reindex()方法在指定位置添加列

    import pandas as pd
     
    feature = pd.read_csv("C://Users//Machenike//Desktop//xzw//lr_train_data.txt", delimiter="\t", header=None, usecols=[0, 1])
    feature.columns = ["a","b"]
    print(feature.head())
    feature = feature.reindex(columns=list('cab'), fill_value=1)
    print(feature.head())

    reindex()方法可以添加一列或多列数据,并且可以指定列的位置,也可以对原先存在的列进行重排。方法中的columns属性控制着列的位置,c是添加的一列,其位于a和b前面,这说明c列是新数据框的第一列,fill_value属性指定的是添加一列的值,其结果如下:

              a         b
    0  4.459256  8.225418
    1  0.043276  6.307400
    2  6.997162  9.313393
    3  4.754832  9.260378
    4  8.661904  9.767977
       c         a         b
    0  1  4.459256  8.225418
    1  1  0.043276  6.307400
    2  1  6.997162  9.313393
    3  1  4.754832  9.260378
    4  1  8.661904  9.767977

    更多Python知识请关注Python自学网

    专题推荐:python
    上一篇:python序列解包是什么意思? 下一篇:python怎么使用文件夹下的脚本?

    相关文章推荐

    • pdf如何用python读取?• python3中数组如何定义?• python文件打包为exe提示找不到路径是什么原因?• python for语句不设置循环次数怎么用?

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网