-
使用tail函数(>spark-3.0)
-
反向排序后取第一条
scala> df.orderBy(desc("empNo")).show(1)
+-------+-----+----+------+---------------+
|depName|empNo|name|salary| hobby|
+-------+-----+----+------+---------------+
|develop| 11|Maja| 5200|[game, farming]|
+-------+-----+----+------+---------------+
- 使用reduce算子
df.reduce { (x, y) =>
if (x.empNo> y.empNo) x else y
输出结果:
res43: Salary = Salary(develop,11,Maja,5200,List(game, farming))
本文介绍了如何获取dataframe的前n行和后n行的方法。
a.loc[‘one’,‘a’]与a.loc[[‘one’],[‘a’]]作用是一样的,不过前者只显示对应的值,而后者会显示对应的行和列标签。a.loc[[‘one’,‘two’],[‘a’,‘b’]] 表示选取’one’和’two’这两行以及columns为a,b的列;a1[a1[‘one’].isin([‘2’,‘3’])] 表显示满足条件:列one中的值包含’2’,'3’的所有行。a.x与a[‘x’]意思一样。a.loc[:,[‘a’,‘b’] ] 表示选取所有的行以及columns为a,b的列;
DataFrame是一个组织成命名列的数据集。它在概念上等同于关系数据库中的表或R/Python中的数据框架,但其经过了优化。DataFrames可以从各种各样的源构建,例如:结构化数据文件,Hive中的表,外部数据库或现有RDD。
DataFrame API 可以被Scala,Java,Python和R调用。
在Scala和Java中,DataFrame由Rows的数据集表示。
在Scala API中,DataFrame只是一个类型别名Dataset[Row]。而在Java API中,用户需要Dataset用来表示DataFrame。
在本文档中,我们经常将Scala/Java数据
在做实验时候需要读取DataFrame的前一行的某一列的值,我想要得到的是’>=50k’这个结果,原来的代码为
b = str(data['income'].head(1))
但是其输出为:
0 <=50K
Name: income, dtype: object
再进行下面的判断
la='<=50K'
lb='>50K'
la_result=la in b
lb_result=lb in b
显然la_res
from sqlalchemy import create_engine
import cx_Oracle
db=cx_Oracle.connect('userid','password','10.10.1.10:1521/dbinstance')
print db.version
cr=db.cursor()\nsql='select * from sys_user'
cr.execute(sql)
rs=cr.fetchall()
zz=pd.DataFram
1、df=DataFrame([{‘A’:’11’,’B’:’12’},{‘A’:’111′,’B’:’121′},{‘A’:’1111′,’B’:’1211′}])
print df.columns.size#列数 2
print df.iloc[:,0].size#行数 3
print df.ix[[0]].index.values[0]#索引值 0
print df.ix[[0]].values[0][0]#第一行第一列的值 11
print df.ix[[1]].values[0][1]#第二行第二列的值 121
以上这篇python DataFrame获取行数、列数、索引及第几行
拯救pandas计划(5)——获取DataFrame分组topN数据最近发现周围的很多小伙伴们都不太乐意使用pandas,转而投向其他的数据操作库,身为一个数据工作者,基本上是张口pandas,闭口pandas了,故而写下此系列以让更多的小伙伴们爱上pandas。系列文章说明:系列名(系列文章序号)——此次系列文章具体解决的需求平台:windows 10python 3....