精华内容
下载资源
问答
  • python对excel操作大全详解(获取某一列,某一行的值,对某一列信息筛选) 在此使用的包是pandas,因为其可以同时处理xlsxlsx两种excel文件。 使用pd读取有多个sheet的excel pandas读取的常用格式pd.read_excel...

    python对excel操作大全详解(获取某一列,某一行的值,对某一列信息筛选)

    在此使用的包是pandas,因为其可以同时处理xls和xlsx两种excel文件。

    使用pd读取有多个sheet的excel

    pandas读取的常用格式pd.read_excel(file, sheet_name),其中sheetname可以使用数字进行替代,从0开始,默认为0

    pandas写入的格式为data.to_excel('filename',sheet_name='A')

    处理的excel信息如下:

    在这里插入图片描述
    在这里插入图片描述
    代码如下:

    import pandas as pd
    path = 'G:\动力系\新建文件夹\什么.xls'
    data = pd.read_excel(path,None)#读取数据,设置None可以生成一个字典,字典中的key值即为sheet名字,此时不用使用DataFram,会报错
    print(data.keys())#查看sheet的名字
    for sh_name in data.keys():
        print('sheet_name的名字是:',sh_name)
        sh_data = pd.DataFrame(pd.read_excel(path,sh_name))#获得每一个sheet中的内容
        print(sh_data)
        
    
    

    结果:
    在这里插入图片描述

    获得某一行,某一列的值

    pd对excel的相关基本操作看下面的链接

    https://blog.csdn.net/weixin_43245453/article/details/90056884

    数据使用的是第一个sheet

    import pandas as pd
    path = 'G:\动力系\新建文件夹\什么.xls'
    data = pd.DataFrame(pd.read_excel(path))#读取数据,设置None可以生成一个字典,字典中的key值即为sheet名字,此时不用使用DataFram,会报错
    print(data.index)#获取行的索引名称
    print(data.columns)#获取列的索引名称
    print(data['姓名'])#获取列名为姓名这一列的内容
    print(data.loc[0])#获取行名为0这一行的内容
    

    结果:
    在这里插入图片描述

    对某一列的信息进行筛选

    筛选使用的是data.loc[列名称 = 提取的信息]

    假如我要提取院系下面的动力,代码如下:

    import pandas as pd
    path = 'G:\动力系\新建文件夹\什么.xls'
    data = pd.DataFrame(pd.read_excel(path))#读取数据,设置None可以生成一个字典,字典中的key值即为sheet名字,此时不用使用DataFram,会报错
    result = data.loc[data['院系'] == '动力']#获取列明为院系,内容为动力的内容
    print(result)
    

    结果如下:
    在这里插入图片描述

    展开全文
  • Pandas的DataFrame教程——指定位置增加删除一行一列

    万次阅读 多人点赞 2018-08-03 11:10:02
    1、删除一行一列 >>> df A B C D 0 1 3 3 4 1 5 6 7 8 2 1 1 1 1 3 2 3 2 3 #删除A列,不改变原来的data数据,返回删除后的新表data_2。axis为1表示删除列,0表示删除行。inplace为True表示直接对原...

    1、删除一行、一列

    >>> df
       A  B  C  D
    0  1  3  3  4
    1  5  6  7  8
    2  1  1  1  1
    3  2  3  2  3
    
    #删除A列,不改变原来的data数据,返回删除后的新表data_2。axis为1表示删除列,0表示删除行。inplace为True表示直接对原表修改。
    
    >>> data_2 = df.drop('A',axis=1,inplace=False)    #删除列
    >>> data_2
       B  C  D
    0  3  3  4
    1  6  7  8
    2  1  1  1
    3  3  2  3
    >>> df.drop(0,axis=0,inplace=False)               #删除行
       A  B  C  D
    1  5  6  7  8
    2  1  1  1  1
    3  2  3  2  3
    >>>
    

    2、指定位置增加行列

    >>> df
       A  B  C   D
    0  1  3  3   4
    1  5  6  7   8
    2  1  1  1   1
    3  2  3  2   3
    4  7  8  9  10
    >>> df.insert(0,'E',[11,12,13,14,15])     #插入一列
    >>> df
        E  A  B  C   D
    0  11  1  3  3   4
    1  12  5  6  7   8
    2  13  1  1  1   1
    3  14  2  3  2   3
    4  15  7  8  9  10
    >>> df
        E  A  B  C   D
    0  11  1  3  3   4
    1  12  5  6  7   8
    2  13  1  1  1   1
    3  14  2  3  2   3
    4  15  7  8  9  10
    
    df.insert(1,'调换',df.pop('A'))  #改变某一列的位置。如:先删除A列,然后在原表data中第1列插入被删掉的列。
    
    >>> df
        E  调换  B  C   D
    0  11   1  3  3   4
    1  12   5  6  7   8
    2  13   1  1  1   1
    3  14   2  3  2   3
    4  15   7  8  9  10
    >>> df                   字典方式添加一行,append,忽略索引
       a  b  c  d
    0  1  3  3  4
    1  5  6  7  8
    >>>
    >>>
    >>> row={'a':9,'b':10,'c':11,'d':12}
    >>> df.append(row,ignore_index=True)
       a   b   c   d
    0  1   3   3   4
    1  5   6   7   8
    2  9  10  11  12
    >>>                      用loc指定位置添加一行
    >>> df.loc[2]=[9,10,11,12]
    >>> df
       a   b   c   d
    0  1   3   3   4
    1  5   6   7   8
    2  9  10  11  12
    >>>
    

    2-1、 指定位置插入一行,索引非数字

    >>> df = pd.DataFrame({'A': [0, 1, 2], 'B': [3, 4, 5]},index=['c','d','f'])
    >>> df
       A  B
    c  0  3
    d  1  4
    f  2  5
    >>> df.loc['c']=['test','test']      ###指定位置插入一行
    >>> df
          A     B
    c  test  test
    d     1     4
    f     2     5
    
    
    ##########如果不想替换,可以参考如下方式
    pd.DataFrame(np.insert(df.values, 0, values=[10, 10], axis=0))
    
    还有其他方式,比如把df拆分成两个df,用append,然后在合并

    3、按特定顺序,插入一行,保证索引按序排列

    >>> df
        E  调换  B  C   D
    0  11   1  3  3   4
    1  12   5  6  7   8
    2  13   1  1  1   1
    3  14   2  3  2   3
    4  15   7  8  9  10
    >>>
    >>> df.loc[5]=[9,9,9,9,9]                     #插入一行,按E列的顺序,升序
    >>> df
        E  调换  B  C   D
    0  11   1  3  3   4
    1  12   5  6  7   8
    2  13   1  1  1   1
    3  14   2  3  2   3
    4  15   7  8  9  10
    5   9   9  9  9   9
    >>> df.sort_values(by='E')                    #按E列排序
        E  调换  B  C   D
    5   9   9  9  9   9
    0  11   1  3  3   4
    1  12   5  6  7   8
    2  13   1  1  1   1
    3  14   2  3  2   3
    4  15   7  8  9  10
    >>> df1=df.sort_values(by='E')
    >>> df1.reset_index()                        #重置索引
       index   E  调换  B  C   D
    0      5   9   9  9  9   9
    1      0  11   1  3  3   4
    2      1  12   5  6  7   8
    3      2  13   1  1  1   1
    4      3  14   2  3  2   3
    5      4  15   7  8  9  10
    >>> df2=df1.reset_index()
    >>> del df2['index']
    >>> df2                                      #删除掉原来的索引列index
        E  调换  B  C   D
    0   9   9  9  9   9
    1  11   1  3  3   4
    2  12   5  6  7   8
    3  13   1  1  1   1
    4  14   2  3  2   3
    5  15   7  8  9  10
    >>>                                         

    参考文献:

    pandas学习:对series和dataframe进行排序: https://blog.csdn.net/u014662865/article/details/59058039

    Pandas set_index&reset_index : https://blog.csdn.net/claroja/article/details/70911963

    展开全文
  • 【Python】DataFrame一列拆成多列以及一行拆成多行

    万次阅读 多人点赞 2019-06-05 20:15:44
    在进行数据分析时,我们经常需要把DataFrame的一列拆成多列或者根据某列把一行拆成多行,这篇文章主要讲解这两个目标的实现。 读取数据 将City列转成多列(以‘|’为分隔符) 这里使用匿名函数lambda来讲City...

    摘要

    在进行数据分析时,我们经常需要把DataFrame的一列拆成多列或者根据某列把一行拆成多行,这篇文章主要讲解这两个目标的实现。码字不易,喜欢请点赞!!!

    1. 读取数据
    2. 将City列转成多列(以‘|’为分隔符)
      这里使用匿名函数lambda来讲City列拆成两列。
      在这里插入图片描述
      3.将DataFrame一行拆成多行(以‘|’为分隔符)
      方法一:在刚刚得到的DataFrame基础上操作,如下图所以,可以明显看到我们按照City列将DataFrame拆成了多行。主要是先将DataFrame拆成多列,然后拆成多个DataFrame再使用concat组合。但是这种方法碰到City列切割不均匀的时候可能会麻烦一点,因此,这个时候你可以使用万能方法二。
      在这里插入图片描述

    方法二:这个方法的主要思想是,首先将DataFrame中需要拆分的列进行拆分,再使用stack()进行轴变换,然后通过index来join即可,如下所示。
    首先,将刚刚的df还原成原始形式:
    在这里插入图片描述
    接下来取出其City列,并切分成多列之后轴转换,之后重新设置索引,并且重命名为Company
    在这里插入图片描述
    最后删除df里面的Country列,并将DataFrame-df1 使用join到df里面得到最后的结果。
    在这里插入图片描述

    展开全文
  • Python中pandas dataframe删除一行一列:drop函数

    万次阅读 多人点赞 2018-02-10 20:10:25
    用法:DataFrame.drop(labels=None,axis=0, index=None, columns=None, inplace=False) ...inplace=False,默认该删除操作不改变原数据,而是返回个执行删除操作后的新dataframe; inplace=True,则会直接在原...

    用法:DataFrame.drop(labels=None,axis=0, index=None, columns=None, inplace=False)

    参数说明:
    labels 就是要删除的行列的名字,用列表给定
    axis 默认为0,指删除行,因此删除columns时要指定axis=1;
    index 直接指定要删除的行
    columns 直接指定要删除的列
    inplace=False,默认该删除操作不改变原数据,而是返回一个执行删除操作后的新dataframe;
    inplace=True,则会直接在原数据上进行删除操作,删除后无法返回。

    因此,删除行列有两种方式:
    1)labels=None,axis=0 的组合
    2)index或columns直接指定要删除的行或列

    例子:

    >>>df = pd.DataFrame(np.arange(12).reshape(3,4), columns=['A', 'B', 'C', 'D'])
    
    >>>df
    
       A   B   C   D
    
    0  0   1   2   3
    
    1  4   5   6   7
    
    2  8   9  10  11
    
    #Drop columns,两种方法等价
    
    >>>df.drop(['B', 'C'], axis=1)
    
       A   D
    
    0  0   3
    
    1  4   7
    
    2  8  11
    
    >>>df.drop(columns=['B', 'C'])
    
       A   D
    
    0  0   3
    
    1  4   7
    
    2  8  11
    
    # 第一种方法下删除column一定要指定axis=1,否则会报错
    >>> df.drop(['B', 'C'])
    
    ValueError: labels ['B' 'C'] not contained in axis
    
    #Drop rows
    >>>df.drop([0, 1])
    
       A  B   C   D
    
    2  8  9  10  11
    
    >>> df.drop(index=[0, 1])
    
       A  B   C   D
       
    2  8  9  10  11
    

    Life is short, You need Python~

    展开全文
  • DB2数据库多行一列转换成 一行一列

    千次阅读 2018-11-14 09:51:12
    在db2中遇到多行一列转为一行一列的需求时,用db2函数 LISTAGG可以实现该功能。语法如下: SELECT [分组的字段],LISTAGG([需要聚合的字段名], ',') FROM [表名] GROUP BY [分组的字段名] ; 1:构造一张临时表...
  • 取矩阵的某一行、某一列、某几行某几列 举个简单的例子 图1 ① a(1,:) :取第一行,结果为:[1 2 3]; ② a(:,1): 取第一列,结果为:[1; 4; 7;] ; ③a(1:2,:) :取第一行和第二行组成新矩阵,同理,a(1:3,:)...
  • 将matlab数据写入的文件中,将数据一行一行的写入,或者一列一列的写入 在处理文件名时,比如src='data/src_data.txt';若要将文件名改为.csv格式,src(end-3:end)='.csv';就可以啦 1.复制文件,将一个文件从一个...
  • 最近需要利用Shell将多行多列文本中某一列,通过指定的分隔符合并成一行。假设需要处理的文本如下: 我们主要处理的是,将用户名提取处理,合并成一行,并通过逗号进行分隔。最终的格式如下: “li1”,”huan”,...
  • 需求:提取数据 说明:原数据是一列多行,需要转化为一行多列 待查询表为:temp_05 hive> desc temp_05; OK data_dt string zhanghao string booking_time_final string sign string hname
  • numpy矩阵删除一列一行

    万次阅读 2019-08-30 12:04:42
    1,删除一列 >>> dataset=[[1,2,3],[2,3,4],[4,5,6]] >>> import numpy as np >>> dataset = np.delete(dataset, -1, axis=1) >>> dataset array([[1, 2], [2, 3], [4...
  • pandas某一列中每一行拆分成多行的方法

    万次阅读 多人点赞 2018-11-29 12:24:11
    在处理数据过程中,常会遇到将条数据拆分成多条,比如个人的地址信息中,可能有多条地址,既有家庭地址也有工作地址,还有电话信息等等类似的情况,实际使用数据的时候又需要分开处理,这个时候就需要将这条...
  • awk输出结果的第一行和一列

    万次阅读 2019-07-03 09:36:04
    输出第一列 ps -ef | awk '{print $1}' 输出第一行 ps -ef | awk 'NR==1'
  • SQL将一行多列数据合并成 一列

    万次阅读 2016-08-19 12:39:33
    由于最近在做项目的时候,要对数据库中一行很多个数据进行求和,便在网上查了一下,首先要用到动态SQL语句,动态sql感觉就是类似于拼接sql字符串 动态语句基本语法 1 :普通SQL语句可以用exec执行 Select * ...
  • 1、B列数据为A列数据下面一列减去上面一列所得 具体操作为:B4=A4-A3,B5=A5-A4,算出这两格数据,选中,之后下拉,自动就可以计算出来。 2、根据某列数据生成折线图 选中B4到B20,插入折线图,自动生成图形 ...
  • 去除csv文件的第一行和一列

    千次阅读 2019-11-09 18:57:47
    去除csv文件的第一行和一列 import pandas as pd import numpy as np df = pd.read_csv(‘zhoucheng_train.csv’) dat=df.drop([‘id’],axis=1) #去除‘id’列 data = np.array(dat.loc[:,:]) #去除第一行 data ...
  • dataframe中删除某一列或某一行

    万次阅读 2020-10-06 19:05:26
    labels:要删除的,用列表给出 axis:默认为0,指要删除的是,删除时需指定axis为1 index :直接指定要删除的,删除多行可以使用列表作为参数 columns:直接指定要删除的,删除多可以使用列表作为...
  • 接下来就要选择你要处理的数据,把Excel一列数据变成一行。右键复制数据。 复制好数据以后就开始粘贴了,右键粘贴的时候要选择性粘贴,才可以达到一列数据变成一行的目的。 点击选择性粘贴后会弹出...
  • SQL一列三行变成一列一行

    千次阅读 2014-05-07 12:44:48
    1. 表名称tableA 有一个字段...2,sql 语句将三行变成一行  SELECT TOP 1 data1=STUFF((SELECT ','+[names] FROM tableA ta FOR XML PATH('')), 1, 1, '') FROM tableA ta1 GROUP BY names
  • 给numpy矩阵添加一行一列

    万次阅读 多人点赞 2017-09-28 08:56:41
    给numpy矩阵添加一行一列
  • 调用矩阵中的某一行或某一列 已知存在一个矩阵a 大小为720 * 1280,python矩阵的索引号是从0开始,矩阵a 的行号:0 ~ 719, 列号:0 ~ 1279。 索引(调用)a[0 : 1, 1276 : 1277],指的是第0行,第1276行,只有一列...
  • excel无法同时冻结第一行和一列? 解决方法: 原因可能是您选择的是“冻结首行”“冻结首列”,这样只能冻结一列一行,不能同时冻结。所以正确操作如下:...
  • excel实现一列或者一行数据递增

    千次阅读 2018-09-12 19:55:59
    在某一列或者一行的前两格输入1、2,之后选中1、2数据,待变为+号,鼠标连着左击两下。 2、对数据量比较大的情况,采用如下方式进行编号 在某一列或者一行的前一格输入1,之后找到开始->填充->序列-...
  • numpy一行转为一列

    千次阅读 2020-12-28 16:22:19
    >>> a = np.array([1, 2, 3]) >>> a = a.reshape(-1, 1) #-1表示任意行数,1表示1 >>> a array([[1], [2], [3]])
  • Oracle将一列分成多列 转列

    千次阅读 2019-02-14 14:48:15
    一列分成多列方法: 1.SELECT REGEXP_SUBSTR(name,'^[^ ]*') first_name, REGEXP_SUBSTR(name, '([[:alpha:]]+)$') middle_name FROM CELEBRITY 2.SELECT SUBSTR(NAME, 1, INSTR(NAME, ' ')-1) FIRST_NAME, SUBSTR...
  • 统计某一列或某一行的缺失值数目 1.使用isnull() import pandas as pd # 首先导入数据 df = pd.read_csv('123.csv' , encoding='gbk') # 计算data每一行有多少个缺失值的值,即按行统计缺失值 rows_null = df.is...
  • 一行分别为矩阵的行数m和列数n(m 接下来输入的m行数据中,每行包含n个整数,整数之间以空格作为间隔。 输出 输出对应矩阵的边缘元素,一个一行。 #include #include using namespace std; int ...
  • 文章出处:mysql多行多列合并为一行一列 mysql> select * from aa; +------+------+ | id| name | +------+------+ |1 | 10| |1 | 20| |1 | 20| |2 | 20| |3 | 200 | |3 | 500 | +------+------+ ...
  • 表格已有第一行表头一列数据,现在要在黄色框住区域添加新的数据。 那么问题就变成如何跳过第一行和一列将数据写入csv? 的问题。下面看具体操作(掌柜就不bb,直接上代码啦): import pandas as pd data ...
  • """ 以上都是读取的代码,看不懂可以看我之前的博客文章 ,下面才是正文内容""" wk_sheet.delete_rows(3,2) #删除从第一行开始算的2行内容 wk_sheet.delete_cols(1,2) #删除从第一列开始算的2列内容 wk.save(r"E:\55...
  • matlab中矩阵删除一行一列的方法

    万次阅读 多人点赞 2017-11-23 22:06:54
    matlab中矩阵删除一行一列的方法

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,924,783
精华内容 769,913
关键字:

一列和一行的区别