【发布时间】:2020-10-24 02:20:32
【问题描述】:
the sample file looks like thisx-axis 应包含 a-z+A-Z 范围内的字母,y-axis 应从内容列绘制它们各自的频率
import pandas as pd
import numpy as np
import string
from matplotlib import pyplot as plt
plt.style.use('fivethirtyeight')
col_list = ["tweet_id","sentiment","author","content"]
df = pd.read_csv("sample.csv",usecols=col_list)
freq = (df["content"])
frequencies = {}
for sentence in freq:
for char in sentence:
if char in frequencies:
frequencies[char] += 1
else:
frequencies[char] = 1
frequency = str(frequencies)
bins = [chr(i + ord('a')) for i in range(26)].__add__([chr(j + ord('A')) for j in range(26)])
plt.title('data')
plt.xlabel('letters')
plt.ylabel('frequencies')
plt.hist(bins,frequency,edgecolor ='black')
plt.tight_layout()
plt.show()
【问题讨论】:
-
能否提供一些示例数据?
bins和frequency长什么样子? -
根据您的描述,您不需要直方图而是条形图。
-
为数据添加了一张图片
-
@Darina 我们是否必须使用 plt.hist() 以外的其他函数来绘制条形图??
-
@MridulSetia 是的,它有一个 matplotlib 函数和一个 pandas 环绕。只需谷歌“python barplot”。
标签: python pandas numpy matplotlib histogram