首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

R中的数据结构(Array,Factor,List,DataFrame)

1、R中的数据结构-Array #一维数组 x1 <- 1:5; x2 <- c(1,3,5,7,9) x3 <- array(c(2, 4, 6, 8, 10)) #多维数组 xs <- array...,都可以修改 x1[3] <- 30 #删除,凡是能够访问到的地方,都可以删除 x1[-3] x1 <- x1[-3] #查找/过滤 x1[x1 >= 4] 2、R中的数据结构-Factor Factor...order(data[, 1]),] data <- read.csv('1.csv', fileEncoding='utf8', stringsAsFactors=FALSE); data[, 2] 3、R中的数据结构...-List 数组的元素要求是同类型(不同类型会转成同一类型),List则可以组合多种不同类型的对象。...,设置为NULL,即为删除, #注意,删除之后,它后面的位置索引都自动减一 j$sex <- NULL; j #四、检索 j=='Joe' #五、查看长度 length(j) 4、R中的数据结构-DataFrame

2.3K90
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    72-R编程12-删除列表的成员对象中的重复内容

    一个需求,实现去除列表中的多个重复对象。 比如 a,b,c 在列表1 出现,bc 在列表2 出现,ad 在列表3 出现,那么仅仅保留1:abc, 2:空, 3:d。...这个列表中的对象可以是数据框,也可以是单个字符,也可以是列表,可以是任何类型的对象。...一个举例场景就是: 我有一个列表对象,这个列表对象里还有若干个列表,每个列表里面还有若干个对象,每个对象是一个存放基因名的向量。 这些不同的列表是不同的实验,而每个对象对应的是一个样本的富集基因。...思路就是循环列表中的每一个子集中的所有内容,去和之前的所有内容进行比较(%in%);并且子集本身也是去重的。...a2 %in% a1] tmp13[[i]] = a3 } tmp13 就是根据比较去重后的新列表了。 因为这个代码长度的缘故,请实际动手操作一下,体验一下过程。

    2.7K30

    【redis源码学习】紧凑列表 listpack,t_hash的御用底层结构

    从5中率先在streams中引入listpack,直到6后作为t_hash御用底层数据结构,redis应该是发现极致的内存使用远远不如提高redis的处理性能。...ziplist 的级联更新 这个级联更新出现的概率极低,所以在ziplist的那篇我就没写。...级联更新是现有压缩列表构造的一个弊端。 这个弊端源于previous_entry_length属性的设定,这个属性可能占1字节,也可能占5字节,实际占用空间大小和前一个节点大小有关。...这个改变可能会波及到整个压缩列表,所以称之为级联更新。 级联更新在最坏情况下需要对压缩列表执行N次空间重分配操作,每次重分配的复杂度是ON,级联更新最坏复杂度为ON方。...其实相比较ziplist,listpack中的优化在于entry中。

    57030

    python dataframe筛选列表的值转为list【常用】

    筛选列表中,当b列中为’1’时,所有c的值,然后转为list 2 .筛选列表中,当a列中为'one',b列为'1'时,所有c的值,然后转为list 3 .将a列整列的值,转为list(两种) 4....筛选列表,当a=‘one’时,取整行所有值,然后转为list 具体看下面代码: import pandas as pd from pandas import DataFrame df = DataFrame...0 one 1 一 1 one 1 一 2 two 2 二 3 three 3 三 4 four 1 四 5 five 5 五 """ # 筛选列表中...,当b列中为’1’时,所有c的值,然后转为list b_c = df.c[df['b'] == '1'].tolist() print(b_c) # out: ['一', '一', '四'] #...筛选列表中,当a列中为'one',b列为'1'时,所有c的值,然后转为list a_b_c = df.c[(df['a'] == 'one') & (df['b'] == '1')].tolist()

    5.1K10

    Pandas创建DataFrame对象的几种常用方法

    DataFrame是pandas常用的数据类型之一,表示带标签的可变二维表格。本文介绍如何创建DataFrame对象,后面会陆续介绍DataFrame对象的用法。...生成后面创建DataFrame对象时用到的日期时间索引: ? 创建DataFrame对象,索引为2013年每个月的最后一天,列名分别是A、B、C、D,数据为12行4列随机数。 ?...创建DataFrame对象,索引与列名与上面的代码相同,数据为12行4列1到100之间的随机数。 ?...根据字典来创建DataFrame对象,字典的“键”作为DataFrame对象的列名,其中B列数据是使用pandas的date_range()函数生成的日期时间,C列数据来自于使用pandas的Series...除此之外,还可以使用pandas的read_excel()和read_csv()函数从Excel文件和CSV文件中读取数据并创建DateFrame对象,后面会单独进行介绍。

    3.6K80

    Python中的DataFrame模块学

    初始化DataFrame   创建一个空的DataFrame变量   import pandas as pd   import numpy as np   data = pd.DataFrame()   ...重新调整index的值   import pandas as pd   data = pd.DataFrame()   data['ID'] = range(0,3)   # data =   # ID...('user.csv')   print (data)   将DataFrame数据写入csv文件   to_csv()函数的参数配置参考官网pandas.DataFrame.to_csv   import...异常处理   过滤所有包含NaN的行   dropna()函数的参数配置参考官网pandas.DataFrame.dropna   from numpy import nan as NaN   import...'表示去除行 1 or 'columns'表示去除列   # how: 'any'表示行或列只要含有NaN就去除,'all'表示行或列全都含有NaN才去除   # thresh: 整数n,表示每行或列中至少有

    2.5K10

    (六)Python:Pandas中的DataFrame

    对象的列和行可获得Series          具体实现如下代码所示: import pandas as pd import numpy as np data = np.array([('xiaoming...对象的修改和删除           具体代码如下所示: import pandas as pd import numpy as np data = np.array([('xiaoming', 4000...tax 1  xiaoming  4000  0.05 2  xiaohong  5000  0.05 3   xiaolan  6000  0.10 (2)添加行         添加行可用对象的标签...,但这种方式是直接对原始数据操作,不是很安全,pandas 中可利用 drop()方法删除指定轴上的数据,drop()方法返回一个新的对象,不会直接修改原始数据。...对象的修改和删除还有很多方法,在此不一一列举,有兴趣的同学可以自己去找一下 统计功能  DataFrame对象成员找最低工资和高工资人群信息          DataFrame有非常强大的统计功能,它有大量的函数可以使用

    3.8K20

    基于业务对象(列表)的排序

    基于业务对象(列表)的排序 2008-3-21 作者: 张子阳 分类: 设计与模式 引言 在上一篇文章 基于业务对象的筛选 中,我们讨论了如何实现Predicate(T object)委托,...Text += item.ToString() + ", "; } form1.Controls.Add(lb2); } 可以看到,通过在List上使用Sort()方法,对列表中的元素进行了排序...而IComparable接口,定义了如何进行排序的规则,如果我们想要对List对象进行排序,那么我们就需要让列表的元素,也就是Order对象实现这个接口。...列表中的当前对象)同类型的另一个对象 other,返回一个int类型的值:小于零 当前对象小于 other 参数。...在这个过程中,只要有任意一个属性不相同,就可以决定两个对象的先后顺序,也就是不再进行后面属性的比较。

    1.9K20

    访问和提取DataFrame中的元素

    对于一个数据框而言,既有从0开始的整数下标索引,也有行列的标签索引 >>> df = pd.DataFrame(np.random.randn(4, 4), index=['r1', 'r2', 'r3...属性运算符 数据框的每一列是一个Series对象,属性操作符的本质是先根据列标签得到对应的Series对象,再根据Series对象的标签来访问其中的元素,用法如下 # 第一步,列标签作为属性,先得到Series...,在根据下标或者标签访问Series对象中的元素 >>> s.r1 -0.22001819046457136 >>> s[0] -0.22001819046457136 # 属性操作符,一步法简写如下...r2 -1.416611 r3 -0.640207 r4 -2.254314 Name: A, dtype: float64 # 当然,你可以在列对应的Series对象中再次进行索引操作,访问对应元素...# 根据单个行列标签,访问对应元素 >>> df.loc['r1','A'] -0.22001819046457136 # 也支持多个行列标签,用列表的写法 >>> df.loc['r1', ['

    4.4K10

    SparkMLLib中基于DataFrame的TF-IDF

    一 简介 假如给你一篇文章,让你找出其关键词,那么估计大部分人想到的都是统计这个文章中单词出现的频率,频率最高的那个往往就是该文档的关键词。...所以,排在最前面的几个词,就是这篇文章的关键词。 再啰嗦的概述一下: TF-IDF是一种统计方法,用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。...二 TF-IDF统计方法 本节中会出现的符号解释: TF(t,d):表示文档d中单词t出现的频率 DF(t,D):文档集D中包含单词t的文档总数。...log表示对得到的值取对数。 TF-IDF 数学表达式 可以看到,TF-IDF与一个词在文档中的出现次数成正比,与该词在整个语言中的出现次数成反比。...三 Spark MLlib中的TF-IDF 在MLlib中,是将TF和IDF分开,使它们更灵活。 TF: HashingTF与CountVectorizer这两个都可以用来生成词频向量。

    2K70

    pandas | DataFrame中的排序与汇总方法

    今天是pandas数据处理专题的第六篇文章,我们来聊聊DataFrame的排序与汇总运算。...在上一篇文章当中我们主要介绍了DataFrame当中的apply方法,如何在一个DataFrame对每一行或者是每一列进行广播运算,使得我们可以在很短的时间内处理整份数据。...今天我们来聊聊如何对一个DataFrame根据我们的需要进行排序以及一些汇总运算的使用方法。...Series当中的排序方法有两个,一个是sort_index,顾名思义根据Series中的索引对这些值进行排序。另一个是sort_values,根据Series中的值来排序。...最简单的差别是在于Series只有一列,我们明确的知道排序的对象,但是DataFrame不是,它当中的索引就分为两种,分别是行索引以及列索引。

    4.7K50

    业界使用最多的Python中Dataframe的重塑变形

    pivot pivot函数用于从给定的表中创建出新的派生表 pivot有三个参数: 索引 列 值 def pivot_simple(index, columns, values): """...===== color black blue red item Item1 None 2 1 Item2 4 None 3 将上述数据中的...因此,必须确保我们指定的列和行没有重复的数据,才可以用pivot函数 pivot_table方法实现了类似pivot方法的功能 它可以在指定的列和行有重复的情况下使用 我们可以使用均值、中值或其他的聚合函数来计算重复条目中的单个值...], aggfunc={"mt_income":[np.sum],"impression":[np.sum]}) stack/unstack 事实上,变换一个表只是堆叠DataFrame的一种特殊情况...假设我们有一个在行列上有多个索引的DataFrame。

    2K10

    pandas | DataFrame中的排序与汇总方法

    大家好,我是架构君,一个会写代码吟诗的架构师。今天说一说pandas | DataFrame中的排序与汇总方法,希望能够帮助大家进步!!!...今天是pandas数据处理专题的第六篇文章,我们来聊聊DataFrame的排序与汇总运算。...在上一篇文章当中我们主要介绍了DataFrame当中的apply方法,如何在一个DataFrame对每一行或者是每一列进行广播运算,使得我们可以在很短的时间内处理整份数据。...Series当中的排序方法有两个,一个是sort_index,顾名思义根据Series中的索引对这些值进行排序。另一个是sort_values,根据Series中的值来排序。...最简单的差别是在于Series只有一列,我们明确的知道排序的对象,但是DataFrame不是,它当中的索引就分为两种,分别是行索引以及列索引。

    3.9K20
    领券