我已经阅读了一个csv文件并将其转换为以下结构:
pivoted = df.pivot('user_id', 'group', 'value')
lookup = df.drop_duplicates('user_id')[['user_id', 'group']]
lookup.set_index(['user_id'], inplace=True)
result = pivoted.join(lookup)
result = result.fillna(0)
Run Code Online (Sandbox Code Playgroud)
结果部分:
0 1 2 3 4 5 6 7 8 9 10 11 12 13 group
user_id
2 33653 2325 916 720 867 187 31 0 6 3 42 56 92 15 l-1
4 18895 414 1116 570 1190 55 92 0 122 23 78 6 4 2 l-2
16 1383 70 27 17 17 1 0 0 0 0 1 0 …Run Code Online (Sandbox Code Playgroud) 给定以下数组,我想用点替换逗号:
array(['0,140711', '0,140711', '0,0999', '0,0999', '0,001', '0,001',
'0,140711', '0,140711', '0,140711', '0,140711', '0,140711',
'0,140711', 0L, 0L, 0L, 0L, '0,140711', '0,140711', '0,140711',
'0,140711', '0,140711', '0,1125688', '0,140711', '0,1125688',
'0,140711', '0,1125688', '0,140711', '0,1125688', '0,140711',
'0,140711', '0,140711', '0,140711', '0,140711', '0,140711',
'0,140711', '0,140711', '0,140711', '0,140711', '0,140711',
'0,140711', '0,140711', '0,140711', '0,140711', '0,140711',
'0,140711', '0,140711', '0,140711', '0,140711'], dtype=object)
Run Code Online (Sandbox Code Playgroud)
我一直在尝试不同的方法,但我无法弄清楚如何做到这一点.此外,我已将其导入为pandasDataFrame但无法应用该功能:
df
1-8 1-7
H0 0,140711 0,140711
H1 0,0999 0,0999
H2 0,001 0,001
H3 0,140711 0,140711
H4 0,140711 0,140711
H5 0,140711 0,140711
H6 0 0
H7 0 0 …Run Code Online (Sandbox Code Playgroud) 我的数据如下:
m=pd.DataFrame({'model':['1','1','2','2','13','13'],'rate':randn(6)},index=['0', '0','1','1','2','2'])
Run Code Online (Sandbox Code Playgroud)
我希望在[1,2,13]中排序因子图的x轴,但默认值为[1,13,2].
有谁知道如何改变它?
更新:我想我已经通过以下方式解决了这个问题,但也许有一种更好的方法可以使用索引来做到这一点?
sns.factorplot('model','rate',data=m,kind="bar",x_order=['1','2','13'])
Run Code Online (Sandbox Code Playgroud) 我想用Python实现我自己的高斯内核,只是为了锻炼.我正在使用:
sklearn.svm.SVC(kernel=my_kernel)但我真的不明白发生了什么.
我期待的功能my_kernel与的列被称为X矩阵作为参数,而不是我得到了它一个名为X,X作为参数.看一下这些例子,事情并不清楚.
我错过了什么?
这是我的代码:
'''
Created on 15 Nov 2014
@author: Luigi
'''
import scipy.io
import numpy as np
from sklearn import svm
import matplotlib.pyplot as plt
def svm_class(fileName):
data = scipy.io.loadmat(fileName)
X = data['X']
y = data['y']
f = svm.SVC(kernel = 'rbf', gamma=50, C=1.0)
f.fit(X,y.flatten())
plotData(np.hstack((X,y)), X, f)
return
def plotData(arr, X, f):
ax = plt.subplot(111)
ax.scatter(arr[arr[:,2]==0][:,0], arr[arr[:,2]==0][:,1], c='r', marker='o', label='Zero')
ax.scatter(arr[arr[:,2]==1][:,0], arr[arr[:,2]==1][:,1], c='g', marker='+', label='One')
h = .02 # step …Run Code Online (Sandbox Code Playgroud) id gender status dept var1 var2 salary
0 P001 M FT DS 2.0 8.0 NaN
1 P002 F PT FS 3.0 NaN 54.0
2 P003 M NaN AWS 5.0 5.0 59.0
3 P004 F FT AWS NaN 8.0 120.0
4 P005 M PT DS 7.0 11.0 58.0
5 P006 F PT NaN 1.0 NaN 75.0
6 P007 M FT FS NaN NaN NaN
7 P008 F NaN FS 10.0 2.0 136.0
8 P009 M PT NaN 14.0 3.0 60.0
9 …Run Code Online (Sandbox Code Playgroud) 我有一些数据,基于此我试图在seaborn中建立一个计数图.所以我这样做:
data = np.hstack((np.random.normal(10, 5, 10000), np.random.normal(30, 8, 10000))).astype(int)
plot_ = sns.countplot(data)
Run Code Online (Sandbox Code Playgroud)
得到我的计数图:
问题是x轴上的刻度太密集(这使得它们无用).我试图降低密度,plot_.xticks=np.arange(0, 40, 10)但没有帮助.
还有一种方法可以用一种颜色制作情节吗?
我刚刚开始学习python.我想在NLTK中编写一个程序,将文本分成unigrams,bigrams.例如,如果输入文本是:
"由于错误,我感到悲伤和失望"
函数应该生成如下文本:
我 - >感觉 - >感到难过 - >悲伤和 - >和失望 - >失望到期 - >由于 - >错误
我编写了代码来输入文本到程序中.这是我正在尝试的功能:
def gen_bigrams(text):
token = nltk.word_tokenize(review)
bigrams = ngrams(token, 2)
#print Counter(bigrams)
bigram_list = ""
for x in range(0, len(bigrams)):
words = bigrams[x]
bigram_list = bigram_list + words[0]+ " " + words[1]+"-->"
return bigram_list
Run Code Online (Sandbox Code Playgroud)
我得到的错误是......
for x in range(0, len(bigrams)):
TypeError: object of type 'generator' has no len()
Run Code Online (Sandbox Code Playgroud)
由于ngram函数返回一个生成器,我尝试使用len(list(bigrams))但它返回0值,所以我得到相同的错误.我已经提到了有关stackexchange的其他问题,但我仍然没有解决如何解决这个问题.我被这个错误困住了.任何解决方法,建议?
我想要以下命令行的图:
import numpy as np, pandas as pd
import seaborn as sns; sns.set(style="white", color_codes=True)
tips = sns.load_dataset("tips")
g = sns.jointplot(x="total_bill", y="tip", data=tips, hue= 'sex')
Run Code Online (Sandbox Code Playgroud)
如果参数'hue'是在jointplot中实现的.
我怎样才能做到这一点?
也许重叠两个联合情节?
我需要生成给定整数的所有分区.
我发现Jerome Kelleher的这个算法对它来说是最有效的算法:
def accelAsc(n):
a = [0 for i in range(n + 1)]
k = 1
a[0] = 0
y = n - 1
while k != 0:
x = a[k - 1] + 1
k -= 1
while 2*x <= y:
a[k] = x
y -= x
k += 1
l = k + 1
while x <= y:
a[k] = x
a[l] = y
yield a[:k + 2]
x += 1
y -= 1
a[k] …Run Code Online (Sandbox Code Playgroud) 我想在Searbon lmplot上添加标题.
ax = plt.axes()
sns.lmplot(x, y, data=df, hue="hue", ax=ax)
ax.set_title("Graph (a)")
plt.show()
Run Code Online (Sandbox Code Playgroud)
但我注意到lmplot没有ax参数.如何在我的lmplot上添加标题?
python ×10
pandas ×6
seaborn ×4
matplotlib ×3
dataframe ×2
bar-chart ×1
gaussian ×1
mean ×1
nltk ×1
performance ×1
scikit-learn ×1
svm ×1