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

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 数据框中。

相关推荐
客卿1231 小时前
用两个栈实现队列
android·java·开发语言
leaves falling1 小时前
C++模板初阶:让代码“复制粘贴”自动化
开发语言·c++·自动化
代码探秘者2 小时前
【算法】吃透18种Java 算法快速读写模板
数据结构·数据库·python·算法·spring
java1234_小锋2 小时前
Java高频面试题:谈谈你对SpringBoot的理解?
java·开发语言·spring boot
2301_816651222 小时前
C++模块化设计原则
开发语言·c++·算法
Ulyanov2 小时前
Python GUI工程化实战:从tkinter/ttk到可复用的现代化组件架构
开发语言·python·架构·gui·tkinter
Langchain2 小时前
2026 年 AI 最值得关注的方向:上下文工程!
人工智能·python·自然语言处理·llm·agent·大模型开发·rag
competes2 小时前
深圳程序员职业生涯
java·大数据·开发语言·人工智能·java-ee
小小小米粒2 小时前
Collection(单列集合)、Map(双列集合),容易搞混的 Collections 工具类。
java·开发语言