我正在尝试使用seaborn和matplotlib绘制我的数据框架,但是得到错误就像无法将字符串转换为浮动。
我的数据如下:
Sub Main()
Dim qassam As String = "mylove"
Dim lena As Byte() = System.Text.Encoding.Default.GetBytes(qassam)
Console.WriteLine(lena)
Console.ReadLine()
End Sub
对于我迄今为止所尝试的内容:
df_count = df.apply(pd.value_counts) plt.plot(df_count)
其中df_count看起来像
ID | Status | Date | Columns|
-------+-------------+------+--------+
28 | ACTIVE | | |
29 | ACTIVE | | |
49623 | TERMINATED | | |
49624 | TERMINATED | | |
49625 | TERMINATED | | |
尝试执行 |STATUS|
-----------+------+
ACTIVE |38537 |
TERMINATED |1185 |
时会出现以下错误:
+:' int'不支持的操作数类型和' str'
尝试执行sns.barplot(df)
时会出现以下错误:
ValueError:无法将字符串转换为float:' 12/31/2014 0:00'
我的python绘图似乎很零,请建议。
答案 0 :(得分:2)
最简单的方法是使用pandas的集成绘图功能
df_count.plot(kind="bar")
。
这是一个完整的例子:
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
cats = np.random.choice(["Active", "Terminated"], 100, p=[0.43, 0.57])
df = pd.DataFrame({"ID": np.arange(100), "Status":cats, "unusedData":np.random.rand(100)})
df_count = df[["Status"]].apply(pd.value_counts)
df_count.plot(kind="bar")
plt.show()
答案 1 :(得分:1)
我认为你必须指定x和y。请尝试:
sns.barplot(x = df_count.index,y = df_count.Status)
sns.plt.show()
-edit
test.csv:
,STATUS
ACTIVE,38537
TERMINATED,1185
代码:
import pandas as pd
import seaborn as sns
df = pd.read_csv('test.csv', delimiter=',')
df.index.names = ['Type']
sns.barplot(x=df.index,y=df.STATUS)
sns.plt.show()
答案 2 :(得分:0)
最后两个答案是pandas
和seaborn
,这个答案是matplotlib
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
df = pd.DataFrame({"STATUS": ['Active', 'Terminated'], "counts": [38537,1185]})
x_pos = np.arange(df.shape[0])
plt.bar(x_pos, df.counts, align='center', color=['green', 'blue'], alpha=0.5)
plt.xticks(x_pos, df.STATUS)
plt.ylabel('Counts')
plt.title('STATUS')
plt.show()