python的数据帧(类似于表的数据结构),类似于r基于numpy数组的数据帧

pydataframe的Python项目详细描述


类似于r的数据帧对象的实现。
用法:
u=dataframe({"field1":[1,2,3],
"field2":["abc","def","hgi"]},
可选:
["field1","field2"]
["rowone","rowtwo","thirdrow"])

基本上是一个有行和列的表。

列是命名的,行是编号的(但可以命名),可以方便地进行选择和计算。在内部,列存储为1d numpy数组。如果设置行名,它们将转换为字典以快速访问。有一个丰富的子选择/切片api,请参阅帮助(dataframe.get_item)(它也可用于设置值)。请注意,任何片段get都是另一个数据帧,要访问单个条目,请使用get_row()、get_column()、get_value()。

dataframes还了解基本的算术,您可以添加(乘,…)一个常量值,也可以添加另一个相同大小/具有相同列名的数据帧,例如:
将column a中小于5的每个值乘6。
my df[mydf[:,'columna']<;5,'columnna']*=6

其中(lambda行:row['columna'].startswith('shu'))
my_df[select,'columna']=[row['columna'].replace('shu','sha')for row in my_df[select,:].iter_rows()]

dataframes通过rpy2直接与r通信(rpy2不是库的先决条件!)from dataframe import dataframe
from rpy2 import robjects as ro
my df=dataframe({"columna":[1,2,3],'columnb':['sha','sha','shu']})
ro.r['print'](mydf)

ndu view(b)my df是一个复合共享numpy数组(列),a和b
my d=a.join戋columns戋on(b,'name戋in戋a,'name戋in戋b")join on common values

操纵dataframe列
mydf.insert戋column("new戋column戋name",[1,2,3])
mydf drop戋column('dropped戋column戋name')
My_df.drop_all_columns_except('请保留我','保持我的好')
My_df.rename_column("旧的","新的")
打印My_df.get_column_names()
My_df.exforce_partial_column_order(['firstcolumn','second_column',['pen Ultimate_column','ultimate_column'])设置列顺序。第一列和第二列(未指定的列)之间的所有内容都按字母顺序排序


我的"我的df.get_row(100)行(100){>;{"column a":值,"columnb":另一个"值"}
我的"我的df.get_row_as_列表(100)表(100)->;[值,另一个"值",另一个"值",按我的"我的df.column"的顺序排列
我的df.get_列(columna)列的任意数组(a副本)
我的"我的df.get_的df.get_的df.get_的列(columna)列(columna)视图('colum实际垫层对数据进行遍历


;对数据进行遍历
对我的df.iter\u rows()iter行作为字典进行遍历
对我的df.iter\u rows\u as_list()iter行作为列表进行排序(请参见get_row _row _as_list())
对我的df.iter\u列的值按值计算,第一列第1列第1列第1列第2列第1列第2列…
对我的df.iter\u值进行遍历
行_ first()value by value,first column,row 1,second column,row 1

转换为用于子选择的布尔数组
my_df.where(lambda row:row['columna'].startswith("hello")和row['columnb']>;=5)
my_df[:,"just_one_column"]>;5任何比较


sort
sort
sortedf.排序依据("columna");按列升序排序的副本
按列降序排序的副本
按列降序排序的副本
按列降序排序的副本[假,真])按列A降序排序的副本,然后按列B升序

r/>my_df.turn_into_level('columna')转换为r兼容因子。可选:级别顺序
我的数据列('column a')bin值
我的数据列('columna',true')转换为列,升序(0.5,0.6,0.55)->;0,2,1
我的数据列重新缩放0'u 1('columna')重新缩放列,使其位于0..1(包括0..1)范围内


导出
my_df=pydataframe.df2csv().read("filename",dialect=pydataframe.tabdialect(),handle_quotes=true)读取一个制表符分隔的值文件。很多选项,请检查代码
pydataframe.df2csv()。write(my_df,filename,dialect=pydataframe.tabdialect());写一个制表符分隔的值文件
pydataframe.df2excel()。read(filename)
pydataframe.df2excel()。write(my_filename)



欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java无法使用JSF访问托管bean方法   java是制作具有多值类型的HashMap的正确方法   javafx中TicTacToe的java更新UI   windows Java文件。getCanonicalFile()无法处理冒号“:”   java在一个布局屏幕中创建多个(26)按钮   java Android Studio:Gradle构建完成,有251个错误   我们如何在Java上为callfireapiclient编写单元/集成测试?   java无法将1715UTC转换为本地/gmt类型   具有已定义的数字序列的JAVA循环   Java程序正在netbeans中编译,但未在CMD中编译,包不存在   java Android构造函数和onCreate()之间有什么区别?   java配置弹性搜索结果评分   java LibGDX纹理是否可绘制?   java如何在Android中设置应用程序默认打开pdf   java是否有一种创造性的方法将多个参数传递给contentEquals()方法?   java在Android上存储Ed25519私钥