小编Rac*_*hel的帖子

在seaborn boxplot中旋转xtick标签?

我有一个问题与2014年的问题基本相同(见这里).但是,我的脚本仍然会抛出错误.

这就是我所做的:我有一个带有几列的pandas数据帧.我绘制了一个简单的boxplot比较.

g = sns.boxplot(x='categories', y='oxygen', hue='target', data=df)
g.set_xticklabels(rotation=30)
Run Code Online (Sandbox Code Playgroud)

该图如下所示:

在此输入图像描述

我想将x标签旋转30度.因此我使用g.set_xticklabels(rotation=30).但是,我收到以下错误:

set_xticklabels() missing 1 required positional argument: 'labels'

我不知道如何将matplotlib labels论证传递给海关sns.boxplot.有任何想法吗?

matplotlib python-3.x pandas seaborn

22
推荐指数
2
解决办法
2万
查看次数

用fancyimpute和pandas进行数据估算

我有一个大熊猫数据成名df.它有很多缺失.丢弃行/或逐行不是一种选择.输入中位数,平均值或最常见的值也不是一种选择(因此,插入pandas和/或scikit不幸的是没有做到这一点).

我遇到了一个看起来很整洁的包fancyimpute(你可以在这里找到它).但我有一些问题.

这是我做的:

#the neccesary imports
import pandas as pd
import numpy as np
from fancyimpute import KNN

# df is my data frame with the missings. I keep only floats
df_numeric = = df.select_dtypes(include=[np.float])

# I now run fancyimpute KNN, 
# it returns a np.array which I store as a pandas dataframe
df_filled = pd.DataFrame(KNN(3).complete(df_numeric))
Run Code Online (Sandbox Code Playgroud)

但是,它df_filled是一个单一的向量,而不是填充的数据帧.如何通过插补来保持数据框?

更新

我意识到,fancyimpute需要一个numpay array.我因此使用转换为df_numeric数组as_matrix(). …

python python-3.x pandas imputation fancyimpute

14
推荐指数
3
解决办法
2万
查看次数

如何使用pandas dataframe中的列标记气泡图/散点图?

我试图标记我从matplotlib创建的散点图/气泡图,其中包含pandas数据框中列的条目.我见过很多相关的例子和问题(参见例如此处此处).因此我试图相应地注释情节.这是我做的:

import matplotlib.pyplot as plt
import pandas as pd 
#example data frame
x = [5, 10, 20, 30, 5, 10, 20, 30, 5, 10, 20, 30]
y = [100, 100, 200, 200, 300, 300, 400, 400, 500, 500, 600, 600]
s = [5, 10, 20, 30, 5, 10, 20, 30, 5, 10, 20, 30]
users =['mark', 'mark', 'mark', 'rachel', 'rachel', 'rachel', 'jeff', 'jeff', 'jeff', 'lauren', 'lauren', 'lauren']

df = pd.DataFrame(dict(x=x, y=y, users=users)

#my attempt to plot …
Run Code Online (Sandbox Code Playgroud)

matplotlib scatter-plot python-3.x pandas

7
推荐指数
2
解决办法
7067
查看次数

使用 scikit-learn 和 matplotlib 在 python 中重新创建决策边界图

在“如何从统计学习元素中绘制 k 最近邻分类器的决策边界?” . 在本例中,K-NN 用于将数据分为三类。我特别喜欢它以班级成员的概率作为“信心”的标志。

在此处输入图片说明

r并且ggplot似乎做得很好。我想知道,这是否可以在 python 中重新创建?我最初的想法倾向于scikit-learnmatplotlib。这是来自 scikit 的 iris 示例:

print(__doc__)

import numpy as np
import matplotlib.pyplot as plt
from matplotlib.colors import ListedColormap
from sklearn import neighbors, datasets

n_neighbors = 15

# import some data to play with
iris = datasets.load_iris()
X = iris.data[:, :2]  # we only take the first two features. We could
                      # avoid this ugly slicing by using a two-dim dataset
y = iris.target

h …
Run Code Online (Sandbox Code Playgroud)

matplotlib knn python-3.x scikit-learn

4
推荐指数
1
解决办法
3794
查看次数

大熊猫数据框中的组均值的差异?

让我们假设我计算在一段时间内有多少桔子(Orange)和苹果(Apple)人(id).我也知道他们是年轻还是年老(group).熊猫数据框可能如下所示:

df = pd.DataFrame({'id' : ['1','2','3','7'],
                   'group' : ['Young', 'Young', 'Old', 'Old'],
                       'Apple' : [7,2,5,4],
                       'Orange' : [3,6,4,4],
                       })
Run Code Online (Sandbox Code Playgroud)

我们可以轻松计算使用的方法groupby().E. g:

df.Apple.groupby(df.group).mean()
Run Code Online (Sandbox Code Playgroud)

输出

Old      4.5
Young    4.5
Run Code Online (Sandbox Code Playgroud)

但是,让我们说,我想知道消费的苹果和橙子的数量与每个人的群体平均数有多大差异?

也就是说,输出应该是

df = pd.DataFrame({'id' : ['1','2','3','7'],
                   'group' : ['Young', 'Young', 'Old', 'Old'],
                       'Apple' : [7,2,5,4],
                       'Orange' : [3,6,4,4],
                       'Apple Difference' : [2.5, -2.5, 0.5, -0.5],
                       })
Run Code Online (Sandbox Code Playgroud)

有没有办法用pandas/numpy做到这一点?对不起摇滚乐问题Best/R.

mean python-3.x pandas difference pandas-groupby

4
推荐指数
1
解决办法
1116
查看次数

熊猫到日期时间与德国日期格式?

我有一个带有日期的数据框,如下所示:

'Jan 2019', 'Feb 2019', 'Mär 2019', 'Apr 2019', 'Mai 2019', 'Jun 2019', 'Jul 2019', 'Aug 2019', 'Sep 2019', 'Okt 2019', 'Nov 2019', 'Dez 2019'
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用将列转换为日期时间

pd.to_datetime(df.month, format='%b%Y', errors='ignore')
Run Code Online (Sandbox Code Playgroud)

不幸的是,to_datetime返回对象而不是日期时间。我相信这是因为日期的德语拼写(例如“Mär 2019”而不是“Mar 2019”或“Dez 2019”而不是“Dec 2019”)。

这个问题的一个好的通用解决方案是什么?

multilingual datetime python-3.x pandas

4
推荐指数
1
解决办法
2257
查看次数

使用Matplotlib绘制SVM?

我有一些有趣的用户数据。它提供了有关要求用户执行某些任务的及时性的一些信息。我正在尝试确定-是否可以预测/解释late-告诉我用户是否准时(0),稍晚(1)或相当晚(2)。我late从提供交通信号灯信息的列中生成(绿色=不迟,红色=超迟)。

这是我的工作:

  #imports
  import pandas as pd
  import numpy as np
  import matplotlib.pyplot as plt
  from sklearn import preprocessing
  from sklearn import svm
  import sklearn.metrics as sm




  #load user data
  df = pd.read_csv('April.csv', error_bad_lines=False, encoding='iso8859_15', delimiter=';')


  #convert objects to datetime data types
  cols = ['Planned Start', 'Actual Start', 'Planned End', 'Actual End']
  df = df[cols].apply(
  pd.to_datetime, dayfirst=True, errors='ignore'
  ).join(df.drop(cols, 1))

  #convert datetime to numeric data types
  cols = ['Planned Start', …
Run Code Online (Sandbox Code Playgroud)

plot python-3.x scikit-learn supervised-learning

3
推荐指数
1
解决办法
2万
查看次数

如何在熊猫数据框中按组进行 t 检验?

我有一个很大的 Pandas 数据框,有很多列。数据框包含两组。基本设置如下:

import pandas as pd
csv = [{"air" : 0.47,"co2" : 0.43 , "Group" : 1}, {"air" : 0.77,"co2" : 0.13 , "Group" : 1}, {"air" : 0.17,"co2" : 0.93 , "Group" : 2} ]
df = pd.DataFrame(csv)
Run Code Online (Sandbox Code Playgroud)

我想对 t 检验进行配对 t 检验airco2从而比较两组Group = 1Group = 2.

我有更多的列air co2- 因此,我想找到一个适用于数据帧中所有列的过程。我相信,我可以scipy.stats.ttest_relpd.groupbyoder一起使用apply。这将如何运作?提前致谢/R

scipy python-3.x pandas

3
推荐指数
1
解决办法
9200
查看次数

关闭 Jupyter Notebook 输出中的缩写?

我对使用 Jupyter 很陌生。我在 Jupyter 中遇到了一个相当烦人的小东西:缩写。我有一个相当大但不是很大的熊猫数据框。我想对缺失的结构有所了解。但是,运行会df_total.isnull().sum()返回一个缩写为...(见下文)的列表。

roe_before_tax_1               1101
roe_before_tax_2               1165
roce_before_tax_0              1009
roce_before_tax_1              1050
roce_before_tax_2              1115
                               ... 
revenue_by_fte_2                689
personell_cost_by_revenue_0    1144
personell_cost_by_revenue_1    1187
personell_cost_by_revenue_2    1271
Run Code Online (Sandbox Code Playgroud)

有没有办法摆脱它并看到完整的输出?谢谢!/R

markdown python-3.x output jupyter-notebook

3
推荐指数
1
解决办法
1732
查看次数

删除所有值为零的所有列

我有一个简单的问题,这里有类似的问题,在这里.

我试图从pandas数据帧中删除所有列,这些数据帧只有零(垂直axis=1).让我给你举个例子:

df = pd.DataFrame({'a':[0,0,0,0], 'b':[0,-1,0,1]})

    a   b
0   0   0
1   0  -1
2   0   0
3   0   1
Run Code Online (Sandbox Code Playgroud)

我想删除列,a因为它只有零.

但是,如果可能的话,我想以漂亮和矢量化的方式做到这一点.我的数据集很大 - 所以我不想循环.因此我试过了

df = df.loc[(df).any(1), (df!=0).any(0)]

    b
1  -1
3   1
Run Code Online (Sandbox Code Playgroud)

这允许我删除列和行.但如果我只是试图删除列,loc似乎失败了.有任何想法吗?

python dataframe pandas

3
推荐指数
3
解决办法
2554
查看次数

如何绘制 scikit 的 t-sne 输出数组?

我有一个简单的问题:我想绘制 scikit 的TSNE. 这是我所做的:

import pandas as pd
import matplotlib.pyplot as plt
from sklearn.manifold import TSNE

x = df
model = TSNE(n_components=2, random_state=0)
model.fit_transform(x)
Run Code Online (Sandbox Code Playgroud)

也就是说,我有一个相当大的 dataframe df。我跑TSNE。结果是形式为的数组

array([[  76.29642863,  -37.2316455 ],
       [  83.28206784,  -35.19983576],
       [ -10.93624436, -109.37550438],
       [  -3.39073195, -107.29288942],
       [  67.66224215,   -2.2439687 ],
       [  30.82205017,  -19.28584524],
       [  47.35280231,  -27.03922442],
       [  81.63500728,  -14.94290102],
       [  36.48278883,  -76.13490133],
       [  51.12458861,  -12.63904649],
       [  27.37677179,  -63.35607228],
       [  57.70966133,  -22.75333134],
       [ -60.32088017,   76.30353357],
       [  33.80070371,   -5.59486463],
       [  27.80748222,  -43.02255416],
       [ …
Run Code Online (Sandbox Code Playgroud)

plot matplotlib python-3.x scikit-learn

2
推荐指数
1
解决办法
2017
查看次数

使用`或`b布尔值查询pandas数据框?

我有一个简单的pandas数据框.

import pandas as pd    
x = [5, 10, 20, 30, 5, 10, 20, 30, 5, 10, 20, 30]
y = [100, 100, 200, 200, 300, 300, 400, 400, 500, 500, 600, 600]
users =['mark', 'mark', 'mark', 'rachel', 'rachel', 'rachel', 'jeff', 'jeff', 'jeff', 'lauren', 'lauren', 'lauren']

df = pd.DataFrame(dict(x=x, y=y, users=users)
Run Code Online (Sandbox Code Playgroud)

我想保留数据帧的某些行.让我们说所有"rachels"和"jeffs".我试过了df.query:

df=df.query('users=="rachel"' or 'users=="jeff"')
Run Code Online (Sandbox Code Playgroud)

结果是只有一个数据框users=="rachel".有没有办法结合查询?

slice dataframe python-3.x pandas

0
推荐指数
1
解决办法
634
查看次数