我想了解如何any()与all()Python的内置函数的工作.
我试图比较元组,以便如果任何值不同,那么它将返回True,如果它们都是相同的,它将返回False.他们如何在这种情况下返回[False,False,False]?
d是一个defaultdict(list).
print d['Drd2']
# [[1, 5, 0], [1, 6, 0]]
print list(zip(*d['Drd2']))
# [(1, 1), (5, 6), (0, 0)]
print [any(x) and not all(x) for x in zip(*d['Drd2'])]
# [False, False, False]
Run Code Online (Sandbox Code Playgroud)
据我所知,这应该输出
# [False, True, False]
Run Code Online (Sandbox Code Playgroud)
因为(1,1)是相同的,(5,6)是不同的,并且(0,0)是相同的.
为什么所有元组的评估为False?
给定一个字符串,该字符串是由commma分隔的多个值的序列:
mStr = 'A,B,C,D,E'
Run Code Online (Sandbox Code Playgroud)
如何将字符串转换为列表?
mList = ['A', 'B', 'C', 'D', 'E']
Run Code Online (Sandbox Code Playgroud) 我正在尝试学习R而我无法弄清楚如何附加到列表中.
如果这是Python我会的...
#Python
vector = []
values = ['a','b','c','d','e','f','g']
for i in range(0,len(values)):
vector.append(values[i])
Run Code Online (Sandbox Code Playgroud)
你是怎么用R做的?
#R Programming
> vector = c()
> values = c('a','b','c','d','e','f','g')
> for (i in 1:length(values))
+ #append value[i] to empty vector
Run Code Online (Sandbox Code Playgroud) 到目前为止,我已经想出了如何导入文件,创建新文件以及随机化列表.
我无法从列表中随机选择50个项目来写入文件?
def randomizer(input,output1='random_1.txt',output2='random_2.txt',output3='random_3.txt',output4='random_total.txt'):
#Input file
query=open(input,'r').read().split()
dir,file=os.path.split(input)
temp1 = os.path.join(dir,output1)
temp2 = os.path.join(dir,output2)
temp3 = os.path.join(dir,output3)
temp4 = os.path.join(dir,output4)
out_file4=open(temp4,'w')
random.shuffle(query)
for item in query:
out_file4.write(item+'\n')
Run Code Online (Sandbox Code Playgroud)
所以,如果总随机化文件是
example:
random_total = ['9','2','3','1','5','6','8','7','0','4']
Run Code Online (Sandbox Code Playgroud)
我想要3个文件(out_file1 | 2 | 3),第一个随机集3,第二个随机集3和第三个随机集3(对于这个例子,但我要创建的那个应该有50个)
random_1 = ['9','2','3']
random_2 = ['1','5','6']
random_3 = ['8','7','0']
Run Code Online (Sandbox Code Playgroud)
所以最后的'4'将不包括在内,这很好.
如何从随机化的列表中选择50?
更好的是,如何从原始列表中随机选择50?
所以我知道islower和isupper,但我似乎无法知道你是否可以检查这个字符是否是一个字母?
Example:
s = 'abcdefg'
s2 = '123abcd'
s3 = 'abcDEFG'
s[0].islower() = True
s2[0].islower()= False
s3[0].islower()=True
Run Code Online (Sandbox Code Playgroud)
除了做.islower()或.isupper()之外,还有什么方法可以问它是否是一个角色?
在MNIST初学者教程中,有tf.cast
tf.reduce_mean基本上改变了对象的张量类型,但是np.mean和tf.reduce_mean?之间有什么区别?
这是关于以下内容的文档reduce_mean(input_tensor, reduction_indices=None, keep_dims=False, name=None):
accuracy = tf.reduce_mean(tf.cast(correct_prediction, "float"))
Run Code Online (Sandbox Code Playgroud)
对于一维矢量,它看起来像input_tensor但我不明白发生了什么reduction_indices.None有道理,因为[1,2]和[1,2]的平均值是[1.5,1.5],但是发生了什么np.mean == tf.reduce_mean?
my_list1 = [30,34,56]
my_list2 = [29,500,43]
Run Code Online (Sandbox Code Playgroud)
如何检查列表中的所有值是否> = 30?my_list1应该工作,my_list2不应该.
我唯一能想到的是:
boolean = 0
def func(ls):
for k in ls:
if k >= 30:
boolean = boolean + 1
else:
boolean = 0
if boolean > 0:
print 'Continue'
elif boolean = 0:
pass
Run Code Online (Sandbox Code Playgroud)
事后看来,在处理速度真正重要且利用的更大数据集后numpy......我会这样做:
>>> my_list1 = [30,34,56]
>>> my_list2 = [29,500,43]
>>> import numpy as np
>>> A_1 = np.array(my_list1)
>>> A_2 = np.array(my_list2)
>>> A_1 >= 30
array([ True, True, True], …Run Code Online (Sandbox Code Playgroud) 我想在阅读文本文件时跳过前17行.
假设文件看起来像:
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
good stuff
Run Code Online (Sandbox Code Playgroud)
我只想要好东西.我正在做的事情要复杂得多,但这是我遇到麻烦的部分.
我正在学习不同的方法来将分类变量转换为机器学习分类器的数字.我遇到了这个pd.get_dummies方法,sklearn.preprocessing.OneHotEncoder()我想看看它们在性能和使用方面有何不同.
我找到了一个关于如何OneHotEnocder()在https://xgdgsc.wordpress.com/2015/03/20/note-on-using-onehotencoder-in-scikit-learn-to-work-on-categorical-features/上使用的教程,因为该sklearn文件并没有这个功能也很有帮助.我有一种感觉,我没有正确地做到这一点......但是
有人可以解释使用pd.dummies过的优点和缺点,sklearn.preprocessing.OneHotEncoder()反之亦然吗?我知道这OneHotEncoder()给你一个稀疏矩阵但除此之外我不确定它是如何使用的,以及该pandas方法的好处是什么.我用它效率不高吗?
import pandas as pd
import numpy as np
from sklearn.datasets import load_iris
sns.set()
%matplotlib inline
#Iris Plot
iris = load_iris()
n_samples, m_features = iris.data.shape
#Load Data
X, y = iris.data, iris.target
D_target_dummy = dict(zip(np.arange(iris.target_names.shape[0]), iris.target_names))
DF_data = pd.DataFrame(X,columns=iris.feature_names)
DF_data["target"] = pd.Series(y).map(D_target_dummy)
#sepal length (cm) sepal width (cm) petal length (cm) petal width (cm) \
#0 5.1 3.5 1.4 …Run Code Online (Sandbox Code Playgroud) 我有一些数据我试图组织成一个DataFrame在Pandas.我试图让每一行成为一个Series并将其附加到DataFrame.我发现了一种通过附加去做Series一个空list,然后转换list的Series到DataFrame
例如 DF = DataFrame([series1,series2],columns=series1.index)
这list要DataFrame一步似乎过度.我在这里查看了几个例子,但是没有Series保留Index标签Series来将它们用作列标签.
是否可以在不先创建列表的情况下将Series附加到DataFrame行?
#!/usr/bin/python
DF = DataFrame()
for sample,data in D_sample_data.items():
SR_row = pd.Series(data.D_key_value)
DF.append(SR_row)
DF.head()
TypeError: Can only append a Series if ignore_index=True or if the Series has a name
Run Code Online (Sandbox Code Playgroud)
然后我试了一下
DF = DataFrame()
for sample,data in D_sample_data.items():
SR_row = pd.Series(data.D_key_value,name=sample)
DF.append(SR_row)
DF.head()
Run Code Online (Sandbox Code Playgroud)
空DataFrame