簡體   English   中英

僅繪制頻率大於 2 的字符串

[英]Only Plotting Strings with a Frequency Greater Than 2

在下面的代碼中,我希望 pd.plot() 忽略所有發生 1 次的情況。 即,僅 plot 列表中不止一次的字符串。 我將如何 go 這樣做?

這是一些示例代碼。

import pandas as pd
import matplotlib.pyplot as plt

x = ['a', 'a', 'b', 'c', 'c', 'c', 'c', 'd', 'e', 'e', 'a', 'e', 'e']
pd.Series(x).value_counts().plot('barh')
plt.show()

換句話說,“b”和“d”各出現一次。 如何在繪圖之前從 plot 中刪除這些數據點,即不只使用xlim = [2,4] 我正在嘗試對我的財務數據使用類似的東西。 我正在閱讀一個包含大量行的 csv 文件,所以我想在繪制之前刪除字符串的所有單個實例。 如果我需要澄清,請告訴我。 在此處輸入圖像描述

使用boolean indexing

s = pd.Series(x).value_counts()
s[s > 1].plot('barh')

或者如果想要一條線解決方案,則通過可調用選擇

pd.Series(x).value_counts().loc[lambda x: x > 1].plot('barh')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM