小编Sco*_*ton的帖子

无法标记多行 sns.catplot()

这是我的源代码:

plot = sns.catplot(x='Year',
                   y='Graduation Rate',
                   col='Group',
                   hue='Campus',
                   kind='bar',
                   col_wrap=4,
                   data=mbk_grad.sort_values(['Group', 'Campus']))

for i in np.arange(2):
    for j in np.arange(4):
        ax = plot.facet_axis(i,j) 
        for p in ax.patches:
            if str(p.get_height()) != 'nan':
                ax.text(p.get_x() + 0.06, p.get_height() * .8, '{0:.2f}%'.format(p.get_height()), color='white', rotation='vertical', size='large')

plt.show()
Run Code Online (Sandbox Code Playgroud)

输出如下:

在此处输入图片说明

如何在第一个标记为第一行之后获取行?为什么我的嵌套 for 循环不起作用?

python matplotlib seaborn

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

将statmodels Tukey hsd保存到Python pandas数据帧中

我正在寻找一种保存结果的方法,以将Tukeyhsd的结果保存到熊猫数据框中。见下文:

import matplotlib.pyplot as plt
import statsmodels.formula.api as smf
import statsmodels.stats.multicomp as multi 

 mcDate = multi.MultiComparison(df['Glucose'], df['Date'])
 Results = mcDate.tukeyhsd()
  print(Results)

    Multiple Comparison of Means - Tukey HSD,FWER=0.05
=============================================
group1 group2 meandiff  lower   upper  reject
---------------------------------------------
  A      B     20.35    7.388   33.312  True 
  A      C     -3.85   -16.812  9.112  False 
  B      C     -24.2   -37.162 -11.238  True 
---------------------------------------------
Run Code Online (Sandbox Code Playgroud)

python statsmodels

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

向散点图添加第二个图例

有没有一种方法可以向散点图的大小与某些数据成比例的散点图添加辅助图例?

我写了下面的代码来生成散点图。散点图的颜色表示年份(取自用户定义的df),散点图的大小表示变量3(也取自df,但为原始数据):

import pandas as pd 

colors = pd.DataFrame({'1985':'red','1990':'b','1995':'k','2000':'g','2005':'m','2010':'y'}, index=[0,1,2,3,4,5])

fig = plt.figure()
ax = fig.add_subplot(111)

for i in df.keys():
    df[i].plot(kind='scatter',x='variable1',y='variable2',ax=ax,label=i,s=df[i]['variable3']/100, c=colors[i])

ax.legend(loc='upper right')
ax.set_xlabel("Variable 1")
ax.set_ylabel("Variable 2")
Run Code Online (Sandbox Code Playgroud)

此代码(包含我的数据)产生以下图形:

单身传奇人物

因此,虽然对颜色/年份进行了很好的明确定义,但分散的大小却没有。

如何添加辅助或附加图例来定义散点图的大小?

python matplotlib scatter-plot pandas

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

Dataframe.lookup和映射组合导致列标签错误

我有一个大约为(1200,10)的大型数据帧,大部分是字符串,我必须在现有引用列说'Y'的基础上附加一个新列说'Z',其值是'A','B','C或未知(NaN或其他),因此我需要在df中选择三个对应的列之一,例如“ D”,“ E”,“ F”,或输出NaN并将此值附加为列“ Z”。我目前有以下代码:

df = pd.DataFrame({'T': {0: '.', 1: '.', 2: '.', 3: '.'}, 
                   'G': {0: '.', 1: '.', 2: '.', 3: '.'}, 
                   'D': {0: 4, 1: 1, 2: 5, 3: 3}, 
                   'E': {0: 6, 1: 2, 2: 7, 3: 2}, 
                   'F': {0: 8, 1: 3, 2: 9, 3: 1}, 
                   'K': {0: '.', 1: '.', 2: '.', 3:'.'}, 
                   'Y': {0: 'A', 1: 'B', 2: 'B', 3: np.nan}})

d = {'A': 'D', 'B': 'E', 'C': 'F'}
df['Z'] = df.lookup(df.index, …
Run Code Online (Sandbox Code Playgroud)

python dataframe pandas

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

Python Pandas在数据框中间添加空列

大家好,我想在包含5列的数据框中的3ed列之后添加一个空列。例

Fname,Lname,city,state,zip

mike,smith,new york,ny,11101
Run Code Online (Sandbox Code Playgroud)

这就是我所拥有的,下面我将展示我想要它的外观。

Fname,Lname,new column,city,state,zip

mike,smith,,new york,ny,11101
Run Code Online (Sandbox Code Playgroud)

我不想用我想要做的数据填充该列,就是在标题中添加额外的列,并且该数据将具有空白列,也就是“ ,,”。我已经看到了将新列添加到数据帧末尾但未放置在特定位置的示例。

python pandas

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

如何将熊猫数据框行转换为多行

我有一个熊猫数据框,每个对象有一行。在该对象中,有子对象。我想创建一个数据框,每个子对象包含一行。

我已经阅读了一些融会贯通的内容,但无法开始弄清楚如何将其用于我想做的事情。

我想从

ObjectID    Sub1_ID Sub1_Var1   Sub1_Var2   Sub1_Var3   Sub2_ID Sub2_Var1   Sub2_Var2   Sub2_Var3
1           98398   3           10          9           19231           6           7           5
2           87868   8           5           4               
3           4579    5           6           6           24833           6           2           2
4           2514    1           6           9   
Run Code Online (Sandbox Code Playgroud)

ObjectID    Sub_ID  Var1    Var2    Var3
1           98398   3       10      9
1           19231   6       7       5
2           87868   8       5       4
3           4579    5       6       6
3           24833   6       2       2
4           2514    1       6       9
Run Code Online (Sandbox Code Playgroud)

python dataframe melt pandas

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

熊猫数据透视表和联合国数据透视表

给定数据框df:

df = pd.DataFrame({'Store_ID': [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],
               'Week_ID':  [1,1,1,1,1,1,1, 2,2,2,2,2,2,2, 3,3,3,3,3,3,3],
               'Day': ['Mo','Tu','We','Th','Fr','Sa','Su','Mo','Tu','We','Th','Fr','Sa','Su','Mo','Tu','We','Th','Fr','Sa','Su'],
               'Manager': ['Kev','Kev','Nash','Kev','Kev','Nash','Kev','Kev','Nash','Kev','Kev','Nash','Kev','Kev','Nash','Kev','Kev','Nash','Kev','Kev','Nash'],
               'Store_Opener': ['Jev','Jev','Oash','Kev','Kev','Nash','Jev','Jev','Oash','Kev','Kev','Nash','Jev','Jev','Oash','Kev','Kev','Nash','Kev','Kev','Nash']
           })
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

我想毫不犹豫地喜欢df1。(而且,我想知道我是否可以反向操作或旋转回df)

df1 = pd.DataFrame({'Store_ID': [1,1,1],
                   'Week_ID':  [1,2,3],
                   'Day_Mo_Manager':['Kev','Kev','Nash'],
                   'Day_Tu_Manager':['Kev','Nash','Kev'],
                   'Day_We_Manager':['?','?','?'],
                   'Day_Th_Manager':['?','?','?'],
                   'Day_Fr_Manager':['?','?','?'],
                   'Day_Sa_Manager':['?','?','?'],
                   'Day_Su_Manager':['?','?','?'],                       
                   'Day_Mo_Store_Opener':['Jev','Jev','Oash'],
                   'Day_Tu_Store_Opener':['Jev','Oash','Jev'],
                   'Day_We_Store_Opener':['?','?','?'],
                   'Day_Th_Store_Opener':['?','?','?'],
                   'Day_Fr_Store_Opener':['?','?','?'],
                   'Day_Sa_Store_Opener':['?','?','?'],
                   'Day_Su_Store_Opener':['?','?','?'],

})
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

有什么方法可以旋转表并取消旋转表,如图所示?灵感来自 我尝试过的Pandas SQL或Spark中的部分透视

df.set_index(['Store_ID','Week_ID'])['Manager']。unstack()

df.pivot_table(index ='Store_ID',columns ='Week_ID',values ='Manager')

但是给了一些错误。

python dataframe pandas

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

将 Pandas DataFrame 写入现有的 MySQL 数据库表

我使用phpmyadmin创建了一个名为test的数据库,其中有一个名为client_info的表。该数据库中的表是空的(如附图所示)

在此输入图像描述

另一方面,我用 python 编写了一段代码,该代码读取多个 CSV 文件,然后将特定列提取到名为Client_Table1的数据框中。该数据框包含多行和 3 列

到目前为止我已经写了这段代码:

import pandas as pd
import glob
path = r'D:\SWAM\ERP_Data'  # Path of Data

all_files = glob.glob(path + "/*.csv")
li = []
 for filename in all_files:
 df = pd.read_csv(filename,sep=';', index_col=None, header=0,encoding='latin-1')
 #df = pd.read_csv(filename, sep='\t', index_col=None, header=0)
 li.append(df)
 ERP_Data = pd.concat(li, axis=0, ignore_index=True)

 # rename the columns name
 ERP_Data.columns = ['Client_ID', 'Client_Name', 'FORME_JURIDIQUE_CLIENT', 'CODE_ACTIVITE_CLIENT', 'LIB_ACTIVITE_CLIENT', 'NACE', 
            'Company_Type', 'Number_of_Collected_Bins', 'STATUT_TI', 'TYPE_TI', 'HEURE_PASSAGE_SOUHAITE', 'FAMILLE_AFFAIRE',
            'CODE_AFFAIRE_MOUVEMENT', 'TYPE_MOUVEMENT_PIECE', 'Freq_Collection', 'Waste_Type', …
Run Code Online (Sandbox Code Playgroud)

python mysql pandas

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

用于有条件地提取重复项的Python代码

假设我们有以下数据框:

   group    id  performance
0   exp      A   1
1   exp      B   2
2   exp      B   3
3   exp      C   4
4   control  A   5
5   control  A   6
6   exp      D   7
7   control  D   8   
Run Code Online (Sandbox Code Playgroud)

仅提取行以便在“ exp”和“ control” 中存在至少一个“ id”的Python代码是什么?

以下是所需的输出:

   group    id  performance
0   exp      A   1
4   control  A   5
5   control  A   6
6   exp      D   7
7   control  D   8  
Run Code Online (Sandbox Code Playgroud)

以下代码用于创建此数据框:

students = [('exp', 'A', 1),
            ('exp', 'B', 2),
            ('exp', 'B', 3),
            ('exp', …
Run Code Online (Sandbox Code Playgroud)

python duplicates pandas

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

Airflow DAG 任务依赖性,打破长线

在气流中,我可以缩短这些任务依赖线吗?

a >> b >> c >> f >> G
a >> b >> d >> f >> G
Run Code Online (Sandbox Code Playgroud)

a >> b
b >> c
b >> d
c >> f
d >> f
f >> g
Run Code Online (Sandbox Code Playgroud)

这些是等价的吗?时间或效率有什么不同吗?询问是否使用代码格式化程序的原因是行长度成为第一种样式和更长的变量任务名称的问题。

有什么建议或建议吗?

python directed-acyclic-graphs airflow

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