小编ark*_*diy的帖子

如何更改seaborn lineplot中x轴标签的顺序?

我有以下数据框:

df1_Relax_Pulse_Melted.head()

Task    Pulse Time  Pulse Measure
0   Language    PRE_RELAX_PULSE 90.0
1   Language    PRE_RELAX_PULSE 94.0
2   Language    PRE_RELAX_PULSE 52.0
3   Language    PRE_RELAX_PULSE 70.0
4   Language    PRE_RELAX_PULSE 84.0
Run Code Online (Sandbox Code Playgroud)

当我尝试绘制此数据的条形图时,我得到以下信息:

ax = sns.barplot(x="Pulse Time", y="Pulse Measure", hue="Task", data=df1_Relax_Pulse_Melted)
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

但是,当我尝试使用线图时,我得到以下信息:

ax = sns.lineplot(x="Pulse Time", y="Pulse Measure", hue="Task", data=df1_Relax_Pulse_Melted)
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

从图中可以看出,x 轴标签的顺序与条形图的顺序不同。是否可以更改线图中 x 轴的顺序?我尝试在 sns.lineplot 中使用“order”函数,如下所示:

ax = sns.lineplot(x="Pulse Time", y="Pulse Measure", hue="Task", data=df1_Relax_Pulse_Melted, order='PRE_RELAX_PULSE','30S_RELAX_PULSE','POST_RELAX_PULSE')
Run Code Online (Sandbox Code Playgroud)

但是,这会产生错误。

``AttributeError: 'Line2D' 对象没有属性 'order'

python python-3.x pandas seaborn

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

在列上循环时如何在熊猫中生成清晰的图?

生成数据帧以实现可复制性:

df = pd.DataFrame(np.random.randn(50, 1000), columns=list('ABCDABCDEDABCDABCDEDABCDABCDEDABCDABCDEDABCDABCDEDABCDABCDEDABCDABCDEDABCDABCDEDABCDABCDEDABCDABCDEDABCDABCDEDABCDABCDEDABCDABCDEDABCDABCDEDABCDABCDEDABCDABCDEDABCDABCDEDABCDABCDEDABCDABCDEDABCDABCDEDABCDABCDEDABCDABCDEDABCDABCDEDABCDABCDEDABCDABCDEDABCDABCDEDABCDABCDEDABCDABCDEDABCDABCDEDABCDABCDEDABCDABCDEDABCDABCDEDABCDABCDEDABCDABCDEDABCDABCDEDABCDABCDEDABCDABCDEDABCDABCDEDABCDABCDEDABCDABCDEDABCDABCDEDABCDABCDEDABCDABCDEDABCDABCDEDABCDABCDEDABCDABCDEDABCDABCDEDABCDABCDEDABCDABCDEDABCDABCDEDABCDABCDEDABCDABCDEDABCDABCDEDABCDABCDEDABCDABCDEDABCDABCDEDABCDABCDEDABCDABCDEDABCDABCDEDABCDABCDEDABCDABCDEDABCDABCDEDABCDABCDEDABCDABCDEDABCDABCDEDABCDABCDEDABCDABCDEDABCDABCDEDABCDABCDEDABCDABCDEDABCDABCDEDABCDABCDEDABCDABCDEDABCDABCDEDABCDABCDEDABCDABCDEDABCDABCDEDABCDABCDEDABCDABCDEDABCDABCDEDABCDABCDEDABCDABCDEDABCDABCDEDABCDABCDEDABCDABCDEDABCDABCDEDABCDABCDEDABCDABCDEDABCDABCDEDABCDABCDEDABCDABCDEDABCDABCDEDABCDABCDEDABCDABCDEDABCDABCDEDABCDABCDEDABCDABCDEDABCDABCDEDABCDABCDEDABCDABCDED'))
Run Code Online (Sandbox Code Playgroud)

检查每个变量的分布是否正常(注意:这需要很长时间才能运行)

# Set the column names

columns= df.columns

# Loop over all columns

fig, axs = plt.subplots(len(df.columns), figsize=(5, 25))
for n, col in enumerate(df.columns):
    df[col].hist(ax=axs[n])
Run Code Online (Sandbox Code Playgroud)

结果会生成难以辨认的直方图,并且需要很长时间才能运行。

时间长度还可以,但是我很好奇是否有人建议生成清晰的直方图(不必花哨),可以对整个数据框进行快速检查以确保分布的正态性。

python python-3.x pandas

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

如何在熊猫中组合宽和长数据框?

我有以下数据框

data = {'Name':['Tom', 'nick', 'krish', 'jack'], 'Age':[20, 21, 19, 18], 'Height':[23, 43, 123, 12], 'Hair_Width':[21, 11, 23, 14]} 
df = pd.DataFrame(data) 
df

    Name    Age Height  Hair_Width
0   Tom     20  23      21
1   nick    21  43      11
2   krish   19  123     23
3   jack    18  12      14
Run Code Online (Sandbox Code Playgroud)

我对此数据帧执行了合并操作,如下所示:

pd.melt(df, id_vars=['Name'], value_vars=['Age', 'Height'])
df
    Name    variable    value  
0   Tom     Age         20     
1   nick    Age         21     
2   krish   Age         19     
3   jack    Age         18     
4   Tom     Height      23     
5   nick    Height      43 …
Run Code Online (Sandbox Code Playgroud)

python dataframe melt python-3.x pandas

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

如何迭代 Pandas 中的数据帧列表?

我有以下数据框,组合成一个列表:

df = pd.DataFrame({'numbers': [1, 2, 3], 'colors': ['red', 'white', 'blue']})
df1 = pd.DataFrame({'numbers': [7, 44, 93], 'colors': ['red', 'white', 'blue']})

df_list = [df,df1]
Run Code Online (Sandbox Code Playgroud)

我想使用 for 循环来迭代它们并打印每个数字。为此,我尝试了:

for num in df_list.numbers.unique():
    val = locals()[num]
    print(val)
Run Code Online (Sandbox Code Playgroud)

但得到一个错误:

AttributeError: 'list' object has no attribute 'numbers'
Run Code Online (Sandbox Code Playgroud)

我也尝试过,更简单:

for num in df_list.numbers.unique():
    print(num)
Run Code Online (Sandbox Code Playgroud)

但得到一个错误:

AttributeError: 'list' object has no attribute 'numbers'
Run Code Online (Sandbox Code Playgroud)

类似的问题也被提出,但没有得到令人满意的答复。

python pandas

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

标签 统计

pandas ×4

python ×4

python-3.x ×3

dataframe ×1

melt ×1

seaborn ×1