Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 大熊猫(和海生)小提琴国家与年份对比图_Python_Pandas_Seaborn - Fatal编程技术网

Python 大熊猫(和海生)小提琴国家与年份对比图

Python 大熊猫(和海生)小提琴国家与年份对比图,python,pandas,seaborn,Python,Pandas,Seaborn,我正在学习熊猫,(观看),目前正在玩一个UFO观察台 import pandas as pd ufo = pd.read_csv('https://raw.githubusercontent.com/justmarkham/pandas-videos/master/data/ufo.csv') ufo.head() ufo.Time = pd.to_datetime(ufo.Time) ufo['Year'] = ufo.Time.dt.year ufo.head() 现在,我想使用S

我正在学习熊猫,(观看),目前正在玩一个UFO观察台

import pandas as pd
ufo = pd.read_csv('https://raw.githubusercontent.com/justmarkham/pandas-videos/master/data/ufo.csv')
ufo.head()

ufo.Time    = pd.to_datetime(ufo.Time)
ufo['Year'] = ufo.Time.dt.year
ufo.head()
现在,我想使用Seaborn对每个州(在x轴上)和年份(在y轴上)进行比较。因此,该图显示了在任何给定年份、任何给定状态下的目击频率密度

如果我使用

ufo.State.value_counts()
我可以得到每个州所有计数的系列。但我如何按年份划分这些数据?我需要每个州每年的ufo目击数据


我是不是在正确的轨道上创造了一个海洋出生的小提琴情节?还是完全走错了方向

根据以下示例的文档中所示的示例:

ax=sns.violinplot(x=“天”,y=“总账单”,数据=提示)

通过向
x=
y=
参数提供列名,可以直接将所需列分配到x轴。以下代码显示
tips
变量的数据结构

In [   ]: tips.head()
Out[   ]: 
   total_bill   tip     sex smoker  day    time  size
0       16.99  1.01  Female     No  Sun  Dinner     2
1       10.34  1.66    Male     No  Sun  Dinner     3
2       21.01  3.50    Male     No  Sun  Dinner     3
3       23.68  3.31    Male     No  Sun  Dinner     2
4       24.59  3.61  Female     No  Sun  Dinner     4
您的问题是使用
violinplot
绘图,x轴显示
ufo.State
,y轴显示
ufo.Year
。因此,我认为这是不必要的,甚至因为
ufo
数据已经被很好地描述,并且满足violinplot的参数格式

您可以通过将
ufo.columnName
直接提供到
x=
y=
中来实现它。请参阅下面的代码:

import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt

ufo = pd.read_csv('https://raw.githubusercontent.com/justmarkham/pandas-videos/master/data/ufo.csv')

ufo.head()

                   City Colors Reported Shape Reported State  \
0                Ithaca             NaN       TRIANGLE    NY   
1           Willingboro             NaN          OTHER    NJ   
2               Holyoke             NaN           OVAL    CO   
3               Abilene             NaN           DISK    KS   
4  New York Worlds Fair             NaN          LIGHT    NY   

                 Time  Year  
0 1930-06-01 22:00:00  1930  
1 1930-06-30 20:00:00  1930  
2 1931-02-15 14:00:00  1931  
3 1931-06-01 13:00:00  1931  
4 1933-04-18 19:00:00  1933  


ufo.Time    = pd.to_datetime(ufo.Time)
ufo['Year'] = ufo.Time.dt.year

fig, ax = plt.subplots(figsize=(12,8))
ax = sns.violinplot(x=ufo.State, y=ufo.Year)
# ax = sns.violinplot(x='State', y='Year', data=ufo)    # Works the same with the code one line above
plt.show()

根据以下示例的文档中所示的示例:

ax=sns.violinplot(x=“天”,y=“总账单”,数据=提示)

通过向
x=
y=
参数提供列名,可以直接将所需列分配到x轴。以下代码显示
tips
变量的数据结构

In [   ]: tips.head()
Out[   ]: 
   total_bill   tip     sex smoker  day    time  size
0       16.99  1.01  Female     No  Sun  Dinner     2
1       10.34  1.66    Male     No  Sun  Dinner     3
2       21.01  3.50    Male     No  Sun  Dinner     3
3       23.68  3.31    Male     No  Sun  Dinner     2
4       24.59  3.61  Female     No  Sun  Dinner     4
您的问题是使用
violinplot
绘图,x轴显示
ufo.State
,y轴显示
ufo.Year
。因此,我认为这是不必要的,甚至因为
ufo
数据已经被很好地描述,并且满足violinplot的参数格式

您可以通过将
ufo.columnName
直接提供到
x=
y=
中来实现它。请参阅下面的代码:

import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt

ufo = pd.read_csv('https://raw.githubusercontent.com/justmarkham/pandas-videos/master/data/ufo.csv')

ufo.head()

                   City Colors Reported Shape Reported State  \
0                Ithaca             NaN       TRIANGLE    NY   
1           Willingboro             NaN          OTHER    NJ   
2               Holyoke             NaN           OVAL    CO   
3               Abilene             NaN           DISK    KS   
4  New York Worlds Fair             NaN          LIGHT    NY   

                 Time  Year  
0 1930-06-01 22:00:00  1930  
1 1930-06-30 20:00:00  1930  
2 1931-02-15 14:00:00  1931  
3 1931-06-01 13:00:00  1931  
4 1933-04-18 19:00:00  1933  


ufo.Time    = pd.to_datetime(ufo.Time)
ufo['Year'] = ufo.Time.dt.year

fig, ax = plt.subplots(figsize=(12,8))
ax = sns.violinplot(x=ufo.State, y=ufo.Year)
# ax = sns.violinplot(x='State', y='Year', data=ufo)    # Works the same with the code one line above
plt.show()