Pandas的小技巧不容忽视:万能变换,简单集成,数据压缩,高效数据分析-量子比特
- 时间:
- 浏览:0
数据分析,错过Pandas的方法。
因此,数据科学家Roman Orac将从职场相遇开始介绍使用潘达斯的技巧。
如果你了解这些技巧,你可以学习Pandas,或者更有效地使用它。
虽然很快,但我们一起学习吧。
Pandas的技术
使用Pandas进行数据分析的最大要点是DataFrame。但是,在提示输出时,必须将DataFrame转换为其他格式。
Pandas在这一点上非常友好,只需添加一行代码
将DataFrame转换为HTML
如果需要通过HTML发送自动报告,则to_检查html函数。
例如,设置以下数据帧:
df = pd importnumpyasnpimportpandasaspdimportrandomn = 10 . dataframe({col1:np.随机.random_sample(n),col2:np.随机.random_sample(n),col3:[random.randint(0,10)for_inrange(random.randint(3,5、]for_inrange(n)],}。
to_可以使用html将表格迁移到html文件中。
df_html=df _ to_html()withopen(「analyisi.html」,「w」)asf: f.wirite (df_html)
与此配套的是将HTML返回到DataFrame的readhtml函数。
从DataFrame到LaTeX
没有在LaTeX写过论文的人,一定要推荐。
也可以通过函数将数据帧值转换为LaTeX表。
df.to_latex()
旋转DataFrame Markdown
在GitHub上添加代码需要自述文件
在这种情况下,可能需要将DataFrame转换为Markdown格式。
Pandas也在想你
print(df.to_markdown()
注意:还需要tabulate库。
将数据帧传输到Excel
说到这里,给同学们出一个小问题:导师/老板/顾客要求你提供Excel格式的数据,你会怎么做
当然——
df.to_excel(“analiss.xlsx”)
另外,如果没有安装过xlwt和openpyxl这两个工具包,则必须预先安装。
另外,与HTML一样,在pandas DataFrame中有read-excel作为用于导入excel数据的函数。
它是一个叫做DataFrame的跨字符串
转换为字符串没有问题
df.to_它有五种不为人知的技巧
Roman Orac以前介绍了5种Pandas的技巧,虽然他觉得很好用,但大家都不太熟悉。
1, data_是range
从外部API或数据库检索数据时,必须多次指定时间范围。
Pandas的data_range涵盖了这一需求。
importpandasaspddate_from= " 2019-01-01 " date_to= " 2019-01-12 " date_range=pd.date_range(date_from,date_to,freq= " D ")print(date)_range)
freq=“D”/“M”/“Y”。此函数分别返回一天、一个月和一年中增加的日期。
2、数据整合
假设你有一个叫DataFrame的left
它被称为right DataFrame
我想用“key”这个关键词来总结这个。
实施代码是这样的
f_merge=left。merge(right,on=「key」,how=「left」,indicator=True)
3.最近的合并。
在处理财务数据(如股票或密码货币)时,价格会根据实际交易而变动。
对于这样的数据,Pandas将merge_它提供了一个叫做asof的便利功能
此功能允许在最近的key(如时间戳)中集成数据帧。
例如,假设有一个数据框架存储了报价信息。
也有保存交易信息的DataFrame。
必须集成两个数据帧中的相应信息
如果最新报价与交易之间有10毫秒的延迟或没有报价,则在合并时merge_使用asof。
pd.merge_asof(trades,quotes,on=“timestamp”,by=“ticker”,tolerance=pd.timedelta(“10ms”),direction=“backward”)
4,用Excel制作报告
在Pandas中,可以在DataFrame中直接创建Excel报告。
importnumpyasnpimportpandasaspddf = pd . dataframe(np.array),columns=[a,b,c]report_name = ' example_report.xlsx'she _name='Sheet1'writer= pd.excelwriter (report.name,engine='xlsxwriter')df.to_excel(writer,she _name)=sheet_name,index=False。
不仅可以放入数据,还可以放入图表。
#definetheworkbook=铃木俊。bookworksheet=铃木俊。sheets [sheet_name] # createachartlineobjectchart = workbook . add_chart({ ' type ': ' line '}) # configuretheseriesofthechartfromthespreadsheet# usingalistofvaluesinsteadofcategory / valueformulas: #[sheetname,first_row,first_col,last_row,last_col]chart.add_series({'categories':[sheet_name,1, 3,0],'values':[sheet]_name、1,1,3,1]})# configurethechartaxeschart . set_x_axis({'hi':'索引'、'position_axis':'on_tick'})图。set_y_axis ({ ' hi ': ' value '、 ' major_gridlines ' { ' visible ': '}}) # placethechartontheworksheetworksheet . insert_chart('e2',图表)#outputtheexcelfilewriter。save ()
注意:需要XlsxWriter库。
5,磁盘节省空间
当保存数据集时,Pandas可以压缩数据集并以压缩格式导入数据集。
制作300MB的DataFrame保存在csv中
df= pd.dataframe (pd.np.random.randn(50000,300)df.to_csv(「random.data.csv」,index=False)
试着压缩一下。
df.to_csv(‘random_data.gz',compression='gzip',index=False)
文件为136MB。
gzip压缩文件可直接读取:
df=pd.read_csv(‘random_data.gz')
这个Pandas技巧笔记本暂且到此为止。大家都在记笔记吗。
Talk is cheap, show me the code。学会了就用吧
-结束了