精华内容
下载资源
问答
  • 题目内容:班级第一次列队,通常老师会让同学按身高排成一列,然后1、2报数,喊到1的同学向前一 步,就这样,队伍就变成两列了。假设现在一个班级有n个同学,并且他们已经按身高排成 了一列,同学按身高从1到n编号,...

    题目内容:班级第一次列队,通常老师会让同学按身高排成一列,然后1、2报数,喊到1的同学向前一 步,就这样,队伍就变成两列了。假设现在一个班级有n个同学,并且他们已经按身高排成 了一列,同学按身高从1到n编号,你能告诉我最后哪些编号的同学站在了第一列么?
    输入格式:
    输入一个正整数n,表示班级的人数。
    输出格式:
    按顺序输出所有在第一列的同学对应的编号,每两个编号之间用一个空格隔开,最后一个编号后面没有空格。

    #include<stdio.h>
    int main()
    {
    int n, i=1 ,x;
    scanf("%d", &n);
    printf("%d",i);
    for (x = 3; x <= n; x += 2)
    {
    printf(" %d",x);
    }
    return 0;
    }在这里插入图片描述

    展开全文
  • python筛选excel某一列中相同的数据

    万次阅读 多人点赞 2018-11-13 11:34:57
    python筛选excel某一列中相同的数据 1.需要cmd下载 pip install pandas 的模板 2.注意文件的路径问题不要出错 3.还有文件的编码格式 ------encoding = 'gbk' import pandas as pd #读取excel文件信息 d...

                                          求赞----求关注

    python筛选excel某一列中相同的数据

    1.需要cmd下载 pip install pandas  的模板

    2.注意文件的路径问题不要出错

    3.还有文件的编码格式 ------encoding = 'gbk'

    import pandas as pd

    #读取excel文件信息

    data = pd.read_csv('1.csv',encoding = 'gbk')

    #筛选表格中需要的列

    data_gender = data[['ID','Price','Actualamount','Merchandise','Time','Place']]

    data_gender_re = data_gender[data_gender.notnull()]   #除去缺失值

      #筛选Place中地点为A 的数据  

    FF = data_gender_re.loc[(data_gender_re['Place'] == 'A')] 
    print(data_gender_re.loc[(data_gender_re['Place'] == 'A')])

    FF.to_csv('C:\\Users\\Administrator\\Desktop\\A.csv',index=False,encoding = 'gbk')       #生成excel文件

    代码如下:

    import pandas as pd
    
    data = pd.read_csv('1.csv',encoding = 'gbk')
    
    data_gender = data[['ID','Price','Actualamount','Merchandise','Time','Place']]
    data_gender_re = data_gender[data_gender.notnull()]
    
    FF = data_gender_re.loc[(data_gender_re['Place'] == 'A')]
    print(data_gender_re.loc[(data_gender_re['Place'] == 'A')])
    
    FF.to_csv('C:\\Users\\Administrator\\Desktop\\A.csv',index=False,encoding = 'gbk')
    
    
    

    需要处理文件如下:

    得到的结果如下:

     

      #筛选Place中地点为A 的数据

    展开全文
  • 给hive增加一列

    万次阅读 2020-04-07 16:31:34
    alter table tablename add columns(columnnamestring) ; 之前的数据没这一列的会变成NULL 以后的数据加这列后会按照指定的分隔符显示再新增加这一列

    alter table tablename add columns(columnname string) ;

    之前的数据没这一列的会变成NULL

    以后的数据加这列后会按照指定的分隔符显示再新增加这一列

     

     

     

    展开全文
  • 向Spark的DataFrame增加一列数据

    万次阅读 2019-05-11 20:35:02
    如果仅仅是增加一列倒是很简单: alter table test add columns(flag string) 可要把这个flag字段全部设置为China,看起来的确是有点难度,因为往Hive表中装载数据的唯一途径就是使用一种“大量”的数据装载操作...

    前言

    先说个题外话,如何给hive表增加一个列,并且该把该列的所有字段设为’China’?
    如果仅仅是增加一列倒是很简单:

    alter table test add columns(flag string)
    

    可要把这个flag字段全部设置为China,看起来的确是有点难度,因为往Hive表中装载数据的唯一途径就是使用一种“大量”的数据装载操作(如何往Hive表加载数据请参考),这个时候,如果数据集中本来就没有flag对应的数据,难道非要手动把China添加上去?这种情况,可以通过静态分区就能够解决:

    load data local inpath '/data/test.txt' overwrite into table test partition (flag = 'China')
    

    有人说,这不扯淡吗?如果这个China字段,并不是我们经常需要访问的字段,何须作为分区字段呢?的确是这样的,这个时候还可以通过下面的方式来解决这个问题:

    insert into table test1  select id, name,'China' as flag from test;
    

    好了步入正题:如何向Spark的DataFrame增加一列数据

    案例详解

    准备数据集:

    张三,23
    李四,24
    王五,25
    赵六,26
    

    程序入口SparkSession和加载数据代码这里不再描述:

    val spark = SparkSession
          .builder()
          .appName(this.getClass.getSimpleName)
          .master(master = "local[*]")
          .getOrCreate()
    
        import spark.implicits._
        val df = spark.read.textFile("./data/clm")
          .map(_.split(","))
          .map(x => (x(0), x(1)))
          .toDF("name", "age")
          .cache()
    
    • withColumn
      这个API是数据DataSet的,官网是这么定义的:

    通过添加列或替换具有相同名称的现有列来返回新的数据集
    column的表达式只能引用此数据集提供的属性。 添加引用其他数据集的列是错误的

    新的列只能通过现有列转换得到,这个就有点局限,不过也能解决一部分问题:
    比如,我想再增加一列为所有age增加1作为新的一列:

    df.withColumn("new_age", col = df("age") + 1).show()
    

    结果:

    +----+---+-------+
    |name|age|new_age|
    +----+---+-------+
    |张三| 23|   24.0|
    |李四| 24|   25.0|
    |王五| 25|   26.0|
    |赵六| 26|   27.0|
    +----+---+-------+
    

    那么如果我想像前言中做那样的操作怎么办?

    • 借助functions中的内置函数lit

    lit函数的作用:Creates a [[Column]] of literal value. 创建[[Column]]的字面量值

    df.withColumn("class",lit("一班")).show()
    

    结果:

    +----+---+-----+
    |name|age|class|
    +----+---+-----+
    |张三| 23| 一班|
    |李四| 24| 一班|
    |王五| 25| 一班|
    |赵六| 26| 一班|
    +----+---+-----+
    
    • 使用sql增加默认列
    df.createTempView(viewName = "view1")
    import spark.sql
    sql(sqlText = "select name,age,'一班' as class from view1").show()
    

    结果:

    +----+---+-----+
    |name|age|class|
    +----+---+-----+
    |张三| 23| 一班|
    |李四| 24| 一班|
    |王五| 25| 一班|
    |赵六| 26| 一班|
    +----+---+-----+
    
    • 利用concat函数
    sql(sqlText = "select name,age,concat('','一班') as class from view1").show()
    

    结果:

    +----+---+-----+
    |name|age|class|
    +----+---+-----+
    |张三| 23| 一班|
    |李四| 24| 一班|
    |王五| 25| 一班|
    |赵六| 26| 一班|
    +----+---+-----+
    
    • 增加自增长列(类似于sql中的自增长主键)
      这里用到了functions.scala文件中的内置函数monotonically_increasing_id()

    该函数官网的描述是:一个列表达式,用于生成单调递增的64位整数。但是请注意:这个自增列在分区内是连续的,但是分区间并不连续

    先来个简单的使用案例:

    import org.apache.spark.sql.functions._
    df.withColumn("id", monotonically_increasing_id()).show()
    

    结果:

    +----+---+---+
    |name|age| id|
    +----+---+---+
    |张三| 23|  0|
    |李四| 24|  1|
    |王五| 25|  2|
    |赵六| 26|  3|
    +----+---+---+
    

    但是,monotonically_increasing_id() 方法生成单调递增仅仅是针对同一个分区,尽管不同分区之间生成的id都是不同的,可不同分区间id不连续,也会造成使用上面的困难,下面进行详细讲解

    • 手动分为2个分区,看结果
        df.repartition(2)
          .withColumn("id", monotonically_increasing_id())
          .show()
    

    结果:

    +----+---+----------+
    |name|age|        id|
    +----+---+----------+
    |李四| 24|         0|
    |赵六| 26|         1|
    |张三| 23|8589934592|
    |王五| 25|8589934593|
    +----+---+----------+
    

    显然,可以看出李四和赵六为同一分区,张三和王五为另一个分区,这两个分区间id虽然不同,但是并不连续

    如何解决monotonically_increasing_id()分区不连续的问题

    • 使用rdd的zipWithIndex(),这里依然手动设置为两个分区
        val tmpRdd: RDD[(Row, Long)] = df.rdd.repartition(2).zipWithIndex()
        val record: RDD[Row] = tmpRdd.map(x => {
          Row(x._1.get(0), x._1.get(1), x._2)
        })
        val schema = new StructType().add("name", "string")
          .add("age", "string")
          .add("id", "long")
        spark.createDataFrame(record, schema).show()
    

    结果:

    +----+---+---+
    |name|age| id|
    +----+---+---+
    |张三| 23|  0|
    |王五| 25|  1|
    |李四| 24|  2|
    |赵六| 26|  3|
    +----+---+---+
    
    • 使用row_number().over(Windo.orderBy(ColName)),生成按某列排序后,新增单调递增,连续的一列。操作完后分区数变为1。id列从1开始
        val w = Window.orderBy("age")
        df.repartition(2).withColumn("id", row_number().over(w)).show()
    

    结果:

    +----+---+---+
    |name|age| id|
    +----+---+---+
    |张三| 23|  1|
    |李四| 24|  2|
    |王五| 25|  3|
    |赵六| 26|  4|
    +----+---+---+
    
    • 从上面大家也能看出,monotonically_increasing_id()分区不连续,那么如果我们在计算完后通过手动将分区设置为一个,那样也就解决了分区间不联系的问题,之后再通过repartition(n)进行重分区
        df.repartition(1)
          .withColumn("id", monotonically_increasing_id())
          .repartition(2)
          .show()
    

    结果:

    +----+---+---+
    |name|age| id|
    +----+---+---+
    |张三| 23|  0|
    |李四| 24|  1|
    |王五| 25|  2|
    |赵六| 26|  3|
    +----+---+---+
    
    展开全文
  • 目标:将表中的每一列都乘以最后一列,例如上图,将U-Y中的每一列乘以AC列。 第一步:复制AC列 第二步:选择U-Y中的每一列,右击选择性粘贴,打开选择性粘贴对话框,选择运算中的乘即可,如图二。 ...
  • excel 一列的数据除以另一列

    万次阅读 2018-07-18 11:00:05
    如图: 将结果显示在D,就在D1输入公式=C1/B1,让后点击D1右下角的小点,向下拖,结果就计算出来了
  • Python向DataFrame中指定位置添加一列或多列

    万次阅读 多人点赞 2018-08-23 11:40:21
    对于这个问题,相信很多人都会很困惑,本篇文章将会给大家介绍一种非常简单的方式向DataFrame中任意指定的位置添加一列。 在此之前或许有不少读者已经了解了最普通的添加一列的方式,如下: import pandas as pd...
  • Python将DataFrame增加一列

    万次阅读 2018-11-07 20:01:32
    from pandas import DataFrame merge_dt_dict = {'date':date_list, 'update':update_list, 'serverip':serverip_list} data_df = DataFrame(merge_dt_dict) # add one column add...
  • 1. 根据某一列值得范围,对另一列进行赋值。 需求1:将人口超过 1000 的城市评级为 ‘一级’,人口不足 1000 的评级为 ’二级‘。 table.loc[(table.人口 >= 1000) ,'评级'] = '一级' table.loc[(table.人口 &...
  • python对excel操作大全详解(获取某一列,某一行的值,对某一列信息筛选) 在此使用的包是pandas,因为其可以同时处理xls和xlsx两种excel文件。 使用pd读取有多个sheet的excel pandas读取的常用格式pd.read_excel...
  • pandas的insert插入一列

    万次阅读 多人点赞 2019-05-14 14:26:00
    loc : 参数column插入的位置,如果想插入到第例则为0,取值范围: 0 (columns),其中len(columns)为Dataframe的数 column :给 插入数据value取列名,可为数字,字符串等 value : 可以是整数,Series或者数组...
  • 前段时间做一个Excel表格,需要将多列数据全部汇总到一列,度娘了一时半会没查出来的符合需求的方法,今天使用Google终于找到方法了。 先说需求,如图所示: 有A、B、C三列数据,我需要将这三列数据全部汇总到一列...
  • 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(&quot;/Users/Devintern/Documents/pachong/ML_flow/pachong/qmp/files/投资事件导出...
  • python 去掉dataframe第一列 正确姿势

    千次阅读 2021-01-25 17:38:44
    在使用pandas的read_csv方法时,它默认会自动加上一列行号。 演示 test.csv内容如下: 姓名,年龄 小兔子昂,8 大兔子昂,13 test.py代码如下: #引入pandas库,并改成pd方便使用,(打的字就少了) import ...
  • MySql复制一列到另一列

    千次阅读 2018-12-14 11:43:31
    mysql复制一列到另一列 UPDATE 表名 SET B列名=A列名 异表复制 需求一:把一个表某个字段内容复制到另一张表的某个字段 实现1: update B set extra = A.extra from A join B on (A.id = B.id); 实现2: ...
  • 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读取csv并新增一列数据

    千次阅读 2020-12-22 12:39:48
    1.在原始数据上新增一列数据 原始数据字段有:学号(snao),姓名(sanem),年龄(age): 新增数据,新增一列分数字段:分数(sresult) : (1)我们首先创建并写入原始数据 代码如下: import pandas as pd # 导入...
  • 将DataFrame的几列数据合并成为一列

    千次阅读 2019-05-05 17:38:37
    DataFrame的几列数据合并成为一列DataFrame的几列数据合并成为一列1.1 方法归纳1.2 .str.cat函数详解1.2.1 语法格式:1.2.2 参数说明:1.2.3 核心功能:1.2.4 常见范例: DataFrame的几列数据合并成为一列 1.1 方法...
  • 【Python】DataFrame一列拆成多列以及一行拆成多行

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

    千次阅读 2018-11-01 14:44:14
    在调用个存储过程中,打印了输出结果,上面客户说要使用excel表。 输出的日志信息是有固定格式的数据,如下: 赖寿福 0 0 0 0 0 0 陈娟屏 25.78 13.25 17.42 14.09 10.06 80.6 赖建昌 0 0 0 0 0 0 刘菊英 0 0 0 0 ...
  • Python之 DataFrame每一列除以一个series

    千次阅读 2020-04-25 16:51:40
    # dataframe的每一列除以series,如果想要每一行除以series,则可采用转置T data = {'hah':[1,2,2], '数量':[3,2,5], '价格':[10,9,8]} df = pd.DataFrame(data) print(df) from pandas import Series, DataFrame...
  • Excel一张表的某一列按另一张表的某一列顺序排序 我用的是wps但是office操作也差不多 一 、选中需要排序模板中的列,就是你需要把某一个表的一列按照这个顺序排,行数比较多可以用ctrl+shift+↓,然后点击 “文件” ...
  • Pandas:一列拆分为多列

    千次阅读 2020-05-08 14:11:21
    假设dataframe中有一列数据为如下形式: 需要将YEAR_UNIT_DEPOSIT_PRO这一列的数据按照指定分隔符‘|’拆分为12列,并拼接到原始数据中生成新的dataframe。 方法如下: # 数据拆分、拼接 new_names = ['gjj_...
  • 关于spark dataframe ,这里介绍三种实用中实现可能比较麻烦的操作,首先上原始数据集 mRecord:,合并content,将name相同的content合并到行,用逗号隔开: mRecord.createOrReplaceTempView("...
  • Python在Dataframe中新添加一列

    万次阅读 多人点赞 2019-08-13 16:31:25
    在敲代码的过程中,老是会遇到在Dataframe中新添加一列的情况,每次都要重新google,这次做个记录。 其实在Dataframe中新添加一列很简单,直接指明列名,然后赋值就可以了。 import pandas as pd data = pd....
  • dataframe中删除某一列或某一行

    万次阅读 多人点赞 2020-10-06 19:05:26
    1. 函数 DataFrame.drop(labels=None,axis=0, index=None, columns=None, in...columns:直接指定要删除的,删除多可以使用列表作为参数 inplace: 默认为False,该删除操作不改变原数据;inplace = True时,改变
  • layui table的创建方式中有种是通过js来渲染的,也是我们最熟悉的种方式,那如果我们某当中的数据不想通过后台数据传到所得,而是通过前端某个东西变化所得(例如说计算总价),应该怎么做呢? layui ...
  • 问题 自己处理数据的时候遇到的问题 dataframe是这样的 df.head(10) 7 RT (min) Area (Ab*s) Quality patch similarity 8 10.167 23278313 64 NaN NaN ...9 10.167 23278313 47 NaN NaN ...10 ...
  • 我用pandas读取某个txt文件(包含两部分,一列时间,一列数据),我想试图将DataFrame变为以A列为index,另一列B为data的新的txtDF,但是我试了很多方法,要不就是index对了,但是数据没了,要不就是运行以后一点变化...
  • --电压小于95V或者大于110V并且是三相三线的数据vol_if_exception设置为1 --判断条件无论大小一定要用括号括起来,不然会报错 df.loc[((df.vol_avg_daily < 95) | (df.vol_avg_daily > 110)) &...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,532,978
精华内容 1,413,191
关键字:

一列