转自:qubit -Roman Orac
数据分析,如何怀念熊猫。
现在,数据科学家罗曼·奥拉克分享了他在工作中遇到的熊猫的使用技巧。
了解这些技能可以让你更高效地学习和使用熊猫。
熊猫实用技能
熊猫数据分析最大的亮点是数据框架。然而,当显示结果时,通常需要将数据帧转换成另一种格式。
熊猫在这一点上其实很友好,加一行代码就行了。
从数据帧转移到超文本标记语言
如果你需要用HTML发送自动报告,那么to_html函数就会发现。
例如,让我们设置一个数据帧:
importnumpy asnp
进口熊猫aspd
importrandom
n = 10
df = pd。数据帧(
{
“col 1”:NP . random . random _ sample(n),
“col 2”:NP . random . random _ sample(n),
" col3": [[random.randint( 0,10)for _ in range(random . randint(3,5))] for_ inrange(n)],
}
)
使用to_html,您可以将表格转换为html文件:
df_html = df.to_html
withopen(' analysis.html ',' w') asf: f.write(df_html)
与之匹配的是read_HTML函数,可以把HTML变回DataFrame。
将数据帧翻译成LaTeX
如果你还没有用LaTeX写过论文,强烈建议试试。
要将数据框值转换成LaTeX表,它也是一个函数:
df.to_latex
从数据框转移到降价
如果你想把代码放到GitHub上,你需要写一个README。
此时,您可能需要将数据帧转换为降价格式。
熊猫也为你考虑过这个:
打印(df.to_markdown)
注意:这里也需要列表库
从数据框转移到Excel
说了这么多,我想问学生一个小问题:如果导师/老板/客户要求你提供Excel格式的数据,你该怎么办?
当然是——
df.to_excel('analysis.xlsx ')
需要注意的是,如果你没有安装两个工具包xlwt和openpyxl,你需要先安装它们。
另外,和HTML一样,还有一个支持功能:read_excel,用于将excel数据导入熊猫DataFrame。
数据帧到字符串
成串,当然没问题:
df.to_string
五个鲜为人知的熊猫技能
此前,罗曼·奥拉克分享了他认为非常容易使用的五种熊猫技能,但人们可能不太熟悉。
1、数据范围
从外部API或数据库获取数据时,需要多次指定时间范围。
熊猫的数据范围涵盖了这一要求。
进口熊猫aspd
date_from = " 2019-01-01 "
date_to = " 2019-01-12 "
date _ range = PD . date _ range(date _ from,date_to,freq="D ")
打印(日期范围)
如果freq = "d"/"m"/"y ",函数将按日、月、年返回递增日期。
2.合并数据
当您有一个名为左的数据框时:
和一个名为右的数据帧:
我想通过关键词“关键”来整合它们:
实现的代码是:
df_merge = left.merge(右,on = 'key ',how = 'left ',指示符= True)
3.最近合并
在处理股票或加密货币等金融数据时,价格会随着实际交易而变化。
熊猫为这些数据提供了一个简单易用的函数merge_asof。
该函数可以通过最新的关键字(如时间戳)合并数据帧。
例如,您有一个存储报价信息的数据框。
还有一个用于存储交易信息的数据框架。
现在,您需要合并两个数据帧中的相应信息。
最新报价和交易之间可能有10毫秒的延迟,或者没有报价,合并时可以使用merge_asof。
pd.merge_asof(trades,quotes,on="timestamp ",by='ticker ',tolerance=pd。时间增量(' 10ms '),方向= '向后')
4.创建电子表格报告
在熊猫中,Excel报表可以直接用数据框创建。
importnumpy asnp
进口熊猫aspd
df = pd。DataFrame(np.array([[ 1,2,3],[ 4,5,6],[ 7,8,9]]),columns=[ "a "," b "," c"])
report _ name = example _ report . xlsx
sheet_name = Sheet1
writer = pd。ExcelWriter(report_name,engine= xlsxwriter)
df.to_excel(writer,sheet_name=sheet_name,index= False)
不仅是数据,还有图表。
#定义工作簿
workbook = writer.book
工作表= writer.sheets[sheet_name]
#创建图表线条对象
chart = workbook . add _ chart({ type:line })
#从电子表格中配置图表系列
#使用值列表而不是类别/值公式:
# [sheetname,first_row,first_col,last_row,last_col]
chart.add_series({
类别:[sheet_name,1,0,3,0],
值:[sheet_name,1,1,3,1],
})
#配置图表坐标轴
chart.set_x_axis({ name : Index,position_axis : on_tick })
chart.set_y_axis({ name : Value,main _ gridline:{ visible:False } })
#将图表放在工作表上
工作表.插入_图表(E2,图表)
#输出excel文件
writer.save
注意:这里需要XlsxWriter库
5.保存磁盘空
熊猫可以在保存的时候压缩数据集,然后以压缩格式读取。
制作一个300MB的数据帧,保存为csv格式。
df = pd。data frame(PD . NP . random . randn(50000,300))
df.to_csv('random_data.csv ',index= False)
尝试压缩它:
df.to_csv('random_data.gz ',compression='g ',index= False)
文件变成136MB。
1.《熊猫压缩 Pandas技巧:万能转格式、轻松合并、压缩数据,让数据分析更高效》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。
2.《熊猫压缩 Pandas技巧:万能转格式、轻松合并、压缩数据,让数据分析更高效》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/tiyu/1184952.html