在seaborn中,如何更改x和y轴标签字体大小?而不是使用"设置上下文"方法,有没有办法专门更改轴标签?这是我的代码:
def corrfunc(x, y, **kws):
r = stats.pearsonr(x, y)[0] ** 2
ax = plt.gca()
ax.annotate("r$^2$ = {:.2f}".format(r),
xy=(.1, .9), xycoords=ax.transAxes, fontsize=16)
if r > 0.6:
col = 'g'
elif r < 0.6:
col = 'r'
sns.regplot(x, y, color=col)
return r
IC_Plot = sns.PairGrid(df_IC, palette=["red"])
IC_Plot.map_offdiag(corrfunc)
IC_Plot.savefig("Save_Pair.png")
Run Code Online (Sandbox Code Playgroud) 我有一个示例数据帧,如下所示.我试图通过列'Sample_ID'将它们组合在一起来计算每列的数据.那就是我将通过每个'Sample_ID'组(1,2和3)计算第一列的平均值和标准偏差.我可以为一个甚至几个列做这个.对于我的新数据,我有100列.
df = pd.DataFrame([[1, 1.0, 2.3,0.2,0.53], [2, 3.35, 2.0,0.2,0.65], [2,3.4,
2.0,0.25,0.55], [3,3.4,2.0,0.25,0.55], [1,3.4,2.0,0.25,0.55],
[3,3.4,2.0,0.25,0.55]],
columns=["Sample_ID", "NaX", "NaU","OC","EC"])\
.set_index('Sample_ID')
Run Code Online (Sandbox Code Playgroud)
有没有办法循环每列并保存它们?以下是一列数据的示例计算,我需要对100列数据进行此计算.
感谢您阅读本文!
OC_UNC=100*np.sqrt((((df.groupby(['Sample_ID'])['OC'].std()
/df.groupby(['Sample_ID'])['OC'].mean())**2).sum()
)/len((df.groupby(['Sample_ID'])['OC'].count())))
Run Code Online (Sandbox Code Playgroud) 是否可以使用列表中的数据更改列名?
df = pd.DataFrame([[1, 1.0, 2.3,0.2,0.53], [2, 3.35, 2.0,0.2,0.65], [2,3.4,
2.0,0.25,0.55], [3,3.4,2.0,0.25,0.55], [1,3.4,2.0,0.25,0.55],
[3,3.4,2.0,0.25,0.55]],
columns=["ID", "A", "B","C","D"])\
.set_index('ID')
Run Code Online (Sandbox Code Playgroud)
我的新标签如下:
New_Labels=['NaU', 'MgU', 'AlU', 'SiU']
Run Code Online (Sandbox Code Playgroud)
是否可以使用上述列表中的数据更改名称?我的原始数据集有 100 列,我不想为每一列手动进行。
我正在尝试使用 df.rename 进行以下操作,但不断出现错误。谢谢!
我试图在下面的数据框中提取具有匹配Sample_ID的行:
df1 = pd.DataFrame([[1, 1.0, 2.3,0.2,0.53], [2, 3.35, 2.0,0.2,0.65], [2,3.4,
2.0,0.25,0.55], [3,3.4,2.0,0.25,0.55]],
columns=["Sample_ID", "NaX", "NaU","OC","EC"])\
.set_index('Sample_ID')
Run Code Online (Sandbox Code Playgroud)
在上面的数据帧df1中,我想只得到Sample_ID为"2"的行.有没有办法在不指定匹配值的情况下执行此操作,键?
我要找的结果是:
NaX NaU OC EC
Sample_ID
2 3.35 2.0 0.20 0.65
2 3.40 2.0 0.25 0.55
Run Code Online (Sandbox Code Playgroud)
感谢您阅读本文!
我在数据框中有值,其中某些单元格以“< 101”开头,某些单元格以“< 2”开头,某些单元格以“< 1”开头。我正在尝试使用 Pandas Dataframe 编写正则表达式来查找这些单元格并将它们完全替换为值“0.0”。
这是我所拥有的:
df_new2=df_new.replace('(?=<)','0', regex=True)
Run Code Online (Sandbox Code Playgroud)
上面的代码只是在'< 101'前面添加了一个'0',这个输出'0< 101'。
我正在寻找的是一个找到“<101”并将其替换为“0”的输出。有没有办法做到这一点?
我有如下数据:

数据列:
DateTime,Data1,Data2,Data3,Month,Date,Year,Hour,Minutes
1/1/2017 0:00,1.1,2.2,3.3,1,1,2017,0,00
1/1/2017 0:00,1.1,2.2,3.3,1,1,2017,0,15
1/1/2017 0:00,1.1,2.2,3.3,1,1,2017,0,30
1/1/2017 0:00,1.1,2.2,3.3,1,1,2017,1,45
Run Code Online (Sandbox Code Playgroud)
我需要按每小时平均列“WS”、“VWS”....“SR”数据。DateTime 列每 15 分钟报告一次。
我希望将每对连续列分开并重新填充计算值.例如,我在下面有以下DataFrame.在下面的数据框中,我想划分B/A和D/C. 然后应在B栏中重新填充B/A的结果,D/C的结果应填入D栏.
请注意,我的实际DataFrame非常大.它有86列.我更希望有一个自动化方案,它可以遍历所有列(即86列),这些列可以更改43列中的值或执行此操作的内置Pandas函数.
A B C D
0 2.056494 -3.002088 0.516822 -1.338846
1 0.082295 1.387734 -0.495226 1.119553
2 0.298618 -0.130158 0.804705 -0.120110
3 0.178088 1.137238 1.331856 -0.472720
4 -0.378670 1.649041 -0.240723 2.044113
5 3.602587 1.152502 -0.170646 -0.961922
6 -0.285846 -0.154891 1.492879 0.752487
7 -0.412809 1.076796 -2.001025 -0.954021
Run Code Online (Sandbox Code Playgroud)
感谢您阅读本文并感谢您的帮助.