我有一个由作为元素的列表组成的数据框架。我希望从每个列表中减去一个值,并创建一个新列。我的代码:
df = pd.DataFrame({'A':[[1,2],[4,5,6]]})
df
A
0 [1, 2]
1 [4, 5, 6]
# lets substract 1 from each list
val = 1
df['A_new'] = df['A'].apply(lambda x:[a-b for a,b in zip(x[0],[val]*len(x[0]))],axis=1)
目前的解决办法:
Inde
这里可能有错误的术语,请纠正我。
问题:
我有很多对象,比如整数列表a=[1,3,7]、b=[1,9]、c...等等。例如,我想把每个对象转换成一个np.array。
迄今为止:
工作内容:单独显式转换:
a=np.array(a)
b=np.array(b)
...
不起作用的是:
[np.array(x) for x in [a,b,c...]]只给出数组的列表(ok,这是预期的),但不将变量a、b.更改为np.array类型。
我知道这揭示了我对python基础知识的了解是多么的少(什么是指针,什么是引用etc...too,我很久以前就在这里为c++学习过它)。
我有一个很大的文件列表,其中包含通过numpy.save泡菜的2D numpy数组。我正在尝试读取每个文件的第一列,并创建一个新的2D数组。
我目前使用带有mmap的numpy.load阅读每个专栏。一维数组现在在一个列表中。
col_list = []
for f in file_list:
Temp = np.load(f,mmap_mode='r')
col_list.append(Temp[:,0])
如何将其转换为2D数组?
我有一个包含a-h列的df,我希望创建这些列值的列表,但是按照另一个列表(list1)中的值的顺序。list1对应于df中的索引值。
df
a b c d e f g h
list1
[3,1,0,5,2,7,4,6]
期望列表
['d', 'b', 'a', 'f', 'c', 'h', 'e', 'g']
我有一个函数,它基本上会将字符串列表添加到变量的开头。但变量可以是字符串,也可以是列表。例如:
a = ['left', 'right'] # error if a = 'left'
b = ['unnamed' for i in range(2)]
a = b + a
但是,当只有一个元素时,我想让用户也可以创建一个字符串。因此,您可以只输入'left',而不是['left']。然而,这当然会在a = b + a中引发错误。
有没有一种方法可以足够灵活地同时做到这两点。否则我将不得不使用if
假设我有一个numpy数组的列表。如何重塑列表中的数组?
下面是一个示例,我希望确保我的所有数组都有两个维度:
In [0]: import numpy as np
...: arr1 = np.array([1, 2, 3]) # Shape is (3,) --> Will need reshaping
...: arr2 = np.array([[1, 2, 3]]) # Shape is (1, 3) --> Shape ok
...: list_of_arrays = [arr1, arr2]
...: for i, arr in enumerat
在我目前的工作中,我经常使用Numpy和列表理解,为了获得最好的性能,我有以下问题:
如果我像下面这样创建一个Numpy数组,幕后会发生什么呢?
a = numpy.array( [1,2,3,4] )
我的猜测是,python首先创建一个包含值的普通列表,然后使用列表大小分配一个numpy数组,然后将值复制到这个新数组中。这是正确的吗,或者解释器是否足够聪明,能够意识到列表只是中介,而不是直接复制值?
类似地,如果我希望使用numpy.fromiter()从列表理解创建一个numpy数组
a = numpy.fromiter( [ x for x in xrange(0,4) ], int
所以我有三个NumPy数组,每个数组都有300个元素。有没有办法创建一个新的数组,在每个索引上都有最大的值?我不确定从哪里开始,因为我不是在比较同一列表中的数字。我知道有一些循环,你从0开始到长度,你需要初始化一个空数组来填充,但我不确定你是如何比较每个索引的值的。很可能我想得太多了。
Ex.
a = [16,24,52]
b = [22,15,136]
c = [9,2,142]
Output = [22,24,142]
我有一个numpy数组,filtered__rows,由LAS data [x, y, z, intensity, classification]组成。我创建了一个点的cKDTree,并找到了最近的邻居,query_ball_point,它是点及其邻居的索引列表。
是否有一种方法可以筛选filtered__rows以创建一个仅包含索引在query_ball_point返回的列表中的点的数组?
熊猫新手,不能为我的一生想出如何在没有使用python函数的情况下实现成一个一行程序(因为我正在努力学习熊猫,并且感觉它可以处理这个问题)。暗示?
我有一个对话话语的数据,我想要创建一组话语,其中组大小是从一个列表中输入的。
#utterance column in list form
utterance_list = ['this', 'is', 'not', 'working']
df = pd.DataFrame({'utterances': utterance_list})
#list of desir
我有一个简单的元素列表,我正在尝试用它做一个。
这种天真的方法失败了:
y = np.array([1,2,3], dtype=[('y', float)])
TypeError: expected an object with a buffer interface
将每个元素放入元组中是有效的:
# Manuel way
y = np.array([(1,), (2,), (3,)], dtype=[('y', float)])
# Comprehension
y = np.array([tuple((x,)) for x in [1,2,3]], dtype