绘制音频时长核密度分布图

py 复制代码
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt

# 读取文件到DataFrame # 可以读百万行文件
df = pd.read_csv('wav_dur_million.info', sep=' ', header=0, names=['音频名', '音频时长'])

# 绘制核密度图
sns.kdeplot(df['音频时长'], fill=True)
plt.xlabel('duration')
plt.ylabel('Kernel Density Estimation')
plt.title('Kernel Density Plot of Audio Durations')
plt.show()

# 保存图形到文件
plt.savefig('wav_dur_plot.png')

这条命令使用 Pandas 的 read_csv 函数从名为 'wav_dur_million.info' 的文件中读取数据,并做了以下设置:

  • sep=' ':指定数据文件中的列是以空格作为分隔符。
  • header=0:表示第一行是数据文件中的列名。
  • names=['音频名', '音频时长']:给读取的列添加了自定义的列名,分别为 '音频名''音频时长'

因此,这条命令的作用是从文件中读取带有列名的数据,其中列名分别为 '音频名''音频时长',并将其存储在名为 df 的 Pandas 数据框中。

相关推荐
CodeStats2 分钟前
【Linux IO】从文件描述符到硬件中断:Linux IO 系统底层完全拆解
java·linux·开发语言·io·socket
着迷不白20 分钟前
Linux系统故障修复、日志管理与安全加固实战指南
开发语言·php
柳杉24 分钟前
没写一行代码!我用 ChatGPT 5.6 (Sol) 做了一个智慧充电站 3D 大屏
前端·chatgpt·数据可视化
贺国亚30 分钟前
A2A协议与Agent互操作-Task生命周期
开发语言·qt
炸薯条!1 小时前
从零开始学C++(4) --类和对象
开发语言·c++·算法
渡我白衣1 小时前
打印宏与socket模块设计
java·linux·开发语言·c++·ide·人工智能·eclipse
Wang's Blog1 小时前
Go-Zero框架上手前奏2: 微服务核心要素 —— 拆分、通信与无状态设计
开发语言·微服务·golang
luoyayun3619 小时前
Qt + FFmpeg 视频工具:视频一键压缩功能实现
qt·ffmpeg·音视频·视频压缩
我是坏垠11 小时前
Crypto、Cipher与Password:Java加密开发的三个核心概念
java·开发语言·python