精华内容
下载资源
问答
  • python多列合并为一列
    2021-10-26 17:17:56
    dataframe["newColumn"] = dataframe["age"].map(str) + dataframe["phone"] + dataframe["address”]
    
    

    map(str) :非string列

    更多相关内容
  • I have a question to merge two columns into one in the same dataframe(start_end), also remove null value. I intend to merge 'Start station' and 'End station' into 'station', and keep 'duration' accord...

    1586010002-jmsa.png

    I have a question to merge two columns into one in the same dataframe(start_end), also remove null value. I intend to merge 'Start station' and 'End station' into 'station', and keep 'duration' according to the new column 'station'. I have tried pd.merge, pd.concat, pd.append, but I cannot work it out.

    dataFrame of Start_end:

    Duration End station Start station

    14 1407 NaN 14th & V St NW

    19 509 NaN 21st & I St NW

    20 638 15th & P St NW. NaN

    27 1532 NaN Massachusetts Ave & Dupont Circle NW

    28 759 NaN Adams Mill & Columbia Rd NW

    Expected output:

    Duration stations

    14 1407 14th & V St NW

    19 509 21st & I St NW

    20 638 15th & P St NW

    27 1532 Massachusetts Ave & Dupont Circle NW

    28 759 Adams Mill & Columbia Rd NW

    Code i have so far:

    #start_end is the dataframe, 'start station', 'end station', 'duration'

    start_end = pd.concat([df_start, df_end])

    This is what I attempted to:

    station = pd.merge([start_end['Start station'],start_end['End station']])

    解决方案>>> df

    Duration End station Start station

    0 1407 NaN 14th & V St NW

    1 509 NaN 21st & I St NW

    2 638 15th & P St NW. NaN

    3 1532 NaN Massachusetts Ave & Dupont Circle NW

    4 759 NaN Adams Mill & Columbia Rd NW

    Give the two columns the same name

    >>> df.columns = df.columns.str.replace('.*?station', 'station')

    >>> df

    Duration station station

    0 1407 NaN 14th & V St NW

    1 509 NaN 21st & I St NW

    2 638 15th & P St NW. NaN

    3 1532 NaN Massachusetts Ave & Dupont Circle NW

    4 759 NaN Adams Mill & Columbia Rd NW

    Stack then unstack.

    >>> s = df.stack()

    >>> s

    0 Duration 1407

    station 14th & V St NW

    1 Duration 509

    station 21st & I St NW

    2 Duration 638

    station 15th & P St NW.

    3 Duration 1532

    station Massachusetts Ave & Dupont Circle NW

    4 Duration 759

    station Adams Mill & Columbia Rd NW

    dtype: object

    >>> df = s.unstack()

    >>> df

    Duration station

    0 1407 14th & V St NW

    1 509 21st & I St NW

    2 638 15th & P St NW.

    3 1532 Massachusetts Ave & Dupont Circle NW

    4 759 Adams Mill & Columbia Rd NW

    >>>

    This is how I think this works:

    .stack creates a series with a MultiIndex and takes care of the null values for you. It aligns the second level on the column names and because the column names are the same there is only one - unstacking just produces a single column.

    That's really just a guess based on the differences between Index's if you don't change the column names.

    >>> # without changing column names

    >>> s.index

    MultiIndex(levels=[[0, 1, 2, 3, 4], ['Duration', 'End station', 'Start station']],

    labels=[[0, 0, 1, 1, 2, 2, 3, 3, 4, 4], [0, 2, 0, 2, 0, 1, 0, 2, 0, 2]])

    >>> # column names the same

    >>> s.index

    MultiIndex(levels=[[0, 1, 2, 3, 4], ['Duration', 'station']],

    labels=[[0, 0, 1, 1, 2, 2, 3, 3, 4, 4], [0, 1, 0, 1, 0, 1, 0, 1, 0, 1]])

    Seems a bit tricky, maybe someone will comment on it.

    Alternative - Using pd.concat and .dropna

    >>> stations = pd.concat([df.iloc[:,1],df.iloc[:,2]]).dropna()

    >>> stations.name = 'stations'

    >>> stations

    2 15th & P St NW.

    0 14th & V St NW

    1 21st & I St NW

    3 Massachusetts Ave & Dupont Circle NW

    4 Adams Mill & Columbia Rd NW

    Name: stations, dtype: object

    >>> df2 = pd.concat([df['Duration'], stations], axis=1)

    >>> df2

    Duration stations

    0 1407 14th & V St NW

    1 509 21st & I St NW

    2 638 15th & P St NW.

    3 1532 Massachusetts Ave & Dupont Circle NW

    4 759 Adams Mill & Columbia Rd NW

    展开全文
  • 今天小编就大家分享一篇使用Python向DataFrame中指定位置添加一列多列的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • 下面小编就大家分享Python个数组行合并及列合并的方法总结,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • 利用Python,将个excel文件合并为一个文件 思路 利用python xlrd包读取excle文件,然后将文件内容存入个列表中,再利用xlsxwriter将内容写入到个新的excel文件中。 完整代码 # -*- coding: utf-8 -*- #将...
  • python实现多列合并为一列的方法总结

    万次阅读 多人点赞 2019-12-23 17:19:40
    缺点:某一列如果空,另一列空,则合并结果是空,所以在合并之前需要对NA进行预处理,替换或者删除。 注意:如果某一列是非str类型的数据,那么我们需要用到map(str)将那一列数据类型做转换:df["newColumn...

    方法一:

    方法:df['column'] = df['column_A'] + df['column_B']
    缺点:某一列如果为空,另一列不为空,则合并结果是为空,所以在合并之前需要对NA进行预处理,替换或者删除。
    注意:如果某一列是非str类型的数据,那么我们需要用到map(str)将那一列数据类型做转换:df["newColumn"] = df["trans_cd"].map(str) + df["trans_class"]

    参考链接:pandas的DataFrame怎么把几列数据合并成为新的一列

    方法二:

    方法:可以调用apply pass axis = 1来逐行应用,在这里通过调用dropna来摆脱NaN;
    优点:解决方法一在处理Null列数据时,合并结果为Null的问题。

    df['ColumnA'] = df[df.columns[1:]].apply(
        lambda x: ','.join(x.dropna()),
        axis=1)   # ”1:“表示合并第一列之后的各列为一列
    

    参考链接:将多个列值合并到python pandas中的一列中

    展开全文
  • 1.需求描述现在有三个工作表,如下:并且每个工作表中的内容如下:需要将这三个工作簿中的分数这一列合并到一起,最终实现效果如下图:2.实现代码# Author:Logan# Date:2020/6/2 9:58# IDE:PyCharm# version:Python ...

    1.需求描述

    现在有三个工作表,如下:

    并且每个工作表中的内容如下:

    需要将这三个工作簿中的分数这一列合并到一起,最终实现效果如下图:

    2.实现代码

    # Author:Logan

    # Date:2020/6/2 9:58

    # IDE:PyCharm

    # version:Python 3.5

    import xlrd

    import xlwt

    from xlutils.copy import copy

    import os

    def create_excel(path, sheet_name):

    workbook = xlwt.Workbook() # 新建一个工作簿

    workbook.add_sheet(sheet_name) # 在工作簿中新建一个表格

    workbook.save(path) # 保存工作簿

    def read_data(FileName):

    # 1.打开文件

    open_file = xlrd.open_workbook(FileName)

    # 2.读取第二列的内容(表中第一列索引值为0)

    st = open_file.sheet_by_index(0)

    data = [st.cell_value(i,1) for i in range(1, st.nrows)]

    # 3.将表名追加到列表作为第一个元素

    title = open_file.sheet_names()

    data = title + data

    return data

    def write_data(path, data):

    index = len(data) # 获取索引写入的行数

    workbook = xlrd.open_workbook(path) # 打开工作簿

    sheets = workbook.sheet_names() # 获取工作簿中的所有表格

    worksheet = workbook.sheet_by_name(sheets[0]) # 获取工作簿中所有表格中的的第一个表格

    cols_old = worksheet.ncols # 获取表格中已存在的数据的列数

    new_workbook = copy(workbook) # 将xlrd对象拷贝转化为xlwt对象

    new_worksheet = new_workbook.get_sheet(0) # 获取转化后工作簿中的第一个表格

    for i in range(0, index):

    new_worksheet.write( i, cols_old + 1, data[i]) # 追加写入数据

    new_workbook.save(path) # 保存工作簿

    def get_file_name(file_dir):

    tmp_lst = []

    for root, dirs, files in os.walk(file_dir):

    for file in files:

    tmp_lst.append(os.path.join(root, file))

    return tmp_lst

    def main():

    DIR_NAME = r‘D:\test\\‘

    create_excel(DIR_NAME + ‘合并.xls‘,‘汇总数据‘)

    print(DIR_NAME + ‘合并.xls‘)

    tmp_list = get_file_name(DIR_NAME + ‘data\\‘)

    for dir in tmp_list:

    data = read_data(dir)

    write_data(DIR_NAME + ‘\合并.xls‘, data)

    print(‘------------‘+ dir.split("\\")[-1] + ‘数据写入成功!-----------‘ )

    if __name__ == ‘__main__‘:

    main()

    程序运行截图:

    原文:https://www.cnblogs.com/OliverQin/p/13030955.html

    展开全文
  • 问题描述 我有一个用于模型训练的DataFrame如下图所示: 其中的country、province、city、county四列其实是位置信息的不同...就可以把四列合并成新的列address 如果某一列是非str类型的数据,那么我们需要用到map(s
  • 最近遇到数组合并问题,以此...#数组纵向合并 mergeA = np.vstack((a, b)) print("mergeA: ", mergeA) #mergeA: [[1 2 3 4] # [5 6 7 8]] #数组横向合并 mergeB = np.hstack((a, b)) print("mergeB: ", mergeB) #merge
  • Python csv文件两列合并为一列

    千次阅读 2021-09-09 21:16:01
    使用Python 处理csv文件时,想要的操作两列合并为一列,感觉比较简单,操作起来有点小麻烦 代码 import pandas as pd df = pd.read_csv("aaaa.csv") df["ls"] = df.iloc[:,1:3].values.tolist()
  • 工作中经常遇到要将十几个Excel(不管是xls、或者是CSV)合并到同个文件中去,手工个复制是不可能的,此时就轮到Python出马了 主要是利用for循环,读取每个文件,作为df,然后再通过list的append加在一起...
  • EXCEL中将A相同数据所对应的B数据合并为一个单元格
  • 比如个Excel表里面有销售表,采购成本表,清仓表,另个Excel表里面也是,将他们的同名表合并在在一起,合并成新的个Excel表。
  • 这次给大家带来python怎么批量合并excel表格,python批量合并excel表格的注意事项有哪些,下面就是实战案例,一起来看一下。合并单元格合并单元格相信大家都会,比如下面这段简单的代码就可以实现:app='Word'word=...
  • 在工作中经常遇到需要将数据输出到excel,且需要对其中一些单元格进行合并,比如如下表表格,需要根据A的值,合并B、C的对应单元格 pandas中的to_excel方法只能对索引进行合并,而xlsxwriter中,虽然提供有...
  • 行将其时间替换行,并且仅附加所有剩余 我最接近的是做类似的事情: d3 = pd.merge(frame1, frame2, on='Date and Time (MM/DD/YYYY HH:MM:SS:sss)', how='outer') >>d3.head() Date and Time Sample_x ...
  • 、相关知识点讲解 1、需要使用的相关库 1importnumpyasnp 2importpandasaspd 3importos 2、os.walk(pwd) 举例如下 ② 代码操作如下: 1pwd="G:\\a" 2print(os.walk(pwd)) 3foriinos.walk(pwd): 4...
  • 1.第一列Sku数值相同的,合并A-E列,J-M列 2.M列设置行高完全显示内容 3.A1单元格内数字是SKU个数,合并单元格后数字更新 二、效果图 input入力文件处理前: 文件处理后 出力效果: 三、代码 1.合并...
  • php504错误怎么解决_后端开发php504错误的解决方法...今天来用python实现合并多个excel为一个工作本,使用不到40行代码完成了60张excel工作本合并为一张,大家起来看看吧。本篇使用的不是openpyx库,使用的使是...
  • Python+Pandas读取excel一列或者多列保存列表

    万次阅读 多人点赞 2019-03-05 12:38:16
    1. 读取一列保存list,项目名称例: import pandas as pd def excel_one_line_to_list(): df = pd.read_excel("/Users/Devintern/Documents/pachong/ML_flow/pachong/qmp/files/投资事件导出...
  • python中如何实现列表元素内容合并不是加到后面而是 list1=[a,b,c] list2=[1,2,3] 如何实现,让 list3=['alist1=['a','b','c']list2=['1','2','3']n=len(list1)list3=[]for i in range(0,n):list3.append('')for i ...
  • python如何将两个txt文件内容合并

    千次阅读 2021-01-12 01:53:57
    本文实例大家分享了python将两个txt文件内容合并的具体代码,供大家参考,具体内容如下分析: 先分别将两个文件中的内容读入列表中,再将列表分割 把不同属性的数据放到单独的列表中 分开存储 name tel email然后...
  • Python合并多张图片一行/一列,且子图之间含有间隔 拼接图片方法网上博客有很,没找到带有间隔(padding),自己改造了一下,效果如下,另外还加了列标题。需要的同学可以直接使用,改好路径,对应号行列大小,...
  • Python合并多个sheet工作表为一个工作表 这里以四级单词例,pdf转换表格后,多达113个sheet,将所有单词合并个sheet里面。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 63,275
精华内容 25,310
关键字:

python多列合并为一列