小编J. *_*Doe的帖子

第二个y轴时间序列seaborn

使用数据帧seaborn可以与seaborn绘制说column1sns.tsplot(data=df.column1, color="g").我们怎样才能在seaborn中绘制两个y轴的时间序列?

python seaborn

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

Python Pandas-通过保持特定顺序对值进行排序

我试图通过保持索引以特定顺序对值进行排序。

from random import randint
import pandas as pd
days = ["Tuesday", "Thursday", "Monday", "Wednesday"]
a = pd.DataFrame({"Value": [randint(0, 9) for i in range(len(days)*5)],
                  "Year": [y for i in range(len(days)) for y in range(2014,2019)]}, 
                  index=[day for day in days for i in range(5)])
myorder = ["Monday", "Tuesday", "Wednesday", "Thursday"]
a.index = pd.CategoricalIndex(a.index, categories=myorder, ordered=True)
a = a.sort_index()
Run Code Online (Sandbox Code Playgroud)

通过申请,a.sort_index()我得到了我的特定订单。但是,的值Year是随机的。如果我们天真a.sort_values(["Year"]),它会再次修改index顺序。如何Year通过保持初始index顺序对值进行排序?

python sorting pandas

5
推荐指数
1
解决办法
2796
查看次数

Python Seaborn - FacetGrid动态均值axhline

每个方面都有自己的含义。如何mymean为每个不同的 Facet 绘制相应的值?mymean是 3 个平均值的列表。

from random import randint
import pandas as pd
names = ["Jack", "Ernest", "Wilde"]
a = pd.DataFrame({"Value": [randint(0, 100) for i in range(len(names)*5)],
                  "Year": [y for i in range(len(names)) for y in range(2014,2019)], 
                  "Name": [name for name in names for i in range(5)]})

mymean = a.groupby(["Name"])["Value"].mean()

sns.set(style="white", context="talk")
grid = sns.FacetGrid(a, col="Name", hue="Name", col_wrap=3, size=3, sharey=False)
grid.map(plt.axhline, y=60, ls=":", c=".5")
grid.map(plt.plot, "Year", "Value", marker="o", ms=5)
grid.fig.tight_layout(w_pad=1)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

python matplotlib pandas seaborn

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

相当于chartR的Python

chartr()(R)功能让生活变得如此轻松:

txtdata = "my têxt is plaîn of accent"
chartr("îêéè", "ieee", txtdata)
Run Code Online (Sandbox Code Playgroud)

返回 "my text is plan of accent"

在Python中,该re.sub()函数仅在第二个arg上采用一个替换值:

re.sub("[éè]", "e", txtdata)
Run Code Online (Sandbox Code Playgroud)

是否有与chartr()等效的Python函数?

python replace

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

组件数截断SVD

可以通过使用截断的SVD来降低尺寸。它通过截断奇异值分解(SVD)进行线性降维。但是,必须在分解之前选择组件的数量。

n_comp = 25
tfidf_vec = TfidfVectorizer(analyzer="word", max_features=5000, ngram_range=(1,2))
svd = TruncatedSVD(n_components=n_comp, algorithm='arpack')
tfidf_df = tfidf_vec.fit_transform(values)
df = svd.fit_transform(tfidf_df)
Run Code Online (Sandbox Code Playgroud)

如何选择零件数量?

statistics machine-learning svd scikit-learn

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