我正在和一只熊猫DataFrame一起工作,它代表了一个图表。数据文件由指示节点端点的MultiIndex索引。
设置:
import pandas as pd
import numpy as np
import itertools as it
edges = list(it.combinations([1, 2, 3, 4], 2))
# Define a dataframe to represent a graph
index = pd.MultiIndex.from_tuples(edges, names=['u', 'v'])
df = pd.Data
我正在尝试做我认为应该很简单的事情:
我做了一个2D列表:
a = [[1,5],[2,6],[3,7]]
我想滑出第一个column并尝试:
1)
a[:,0]
...
TypeError: list indices must be integers or slices, not tuple
2)
a[:,0:1]
...
TypeError: list indices must be integers or slices, not tuple
3)
a[:][0]
[1, 5]
4)
a[0][:]
[1, 5]
5)明白了,但这是做这件事的方法吗?
aa[0] for aa in a
当我在numpy多维数组中进行索引时,我有一个奇怪的问题。所以,我有一个形状数组(4,882)。我有另一个名为形状匹配(276,2)的数组。此匹配数组包含原始多维数组中有效条目的索引。我要做的是选择前2行和匹配匹配数组中的索引的所有列。因此,我所做的事情如下:
import numpy as np
k = get_array() # This has shape (4, 882)
m = get_match() # This has shape (276, 2)
s = k[[1, 0], m[:, 0]]
这会引发错误:
ValueError: shape mismatch: obje
我使用了Sklearn的数字数据集,并尝试使用TSNE( t分布随机邻居嵌入)将维度从64降低到3: import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
#%matplotib inline
from sklearn.manifold import TSNE
from sklearn.datasets import load_digits
from mpl_toolkits.mplot3d import Axes3D
digits = load_digit
我试图从列表中分割第一个和最后一个值,然后将这些值转换为整数。我找到了一个解决方案,但我很困惑为什么这个解决方案有效,我想知道是否有一个更简单的方法,因为它看起来相当不雅观。
我发现从列表列表中分割单个值的两种方法是使用列表理解,然后切片或转换为numpy数组,然后在两个维度中切片。这两个步骤都有两个步骤。
问题1:是否有一个步骤解决方案可以将单个值从列表中分割出来?
问题2:为什么一个混合列表(有些值是数字,有些是字母)不是由整数和字符串与所有元组组成的?numpy数组或其他方法允许混合列表吗?抱歉如果我没有使用正确的术语..。
一种列表切片-列表理解方法
#Say I have a lis
下面是一个MRE (展示了两次尝试,为了帮助您进行调试),以尝试在一个包含系列列的DataFrame上使用across获得2d订阅。
class Series does Positional {
has Real @.data = [0.1,0.2,0.3];
method AT-POS( $p ) {
@!data[$p]
}
}
class DataFrame does Positional {
has Series @.series;
#`[ ATTEMPT #1
method AT-POS( $p, $q? ) {
我有点困惑:
据我所知,h5py的.value方法读取整个数据集并将其转储到数组中,这既缓慢又不鼓励(通常应该由[()]代替。正确的方法是使用粗制滥造的切片。
但是,我得到了令人恼火的结果(使用h5py 2.2.1):
import h5py
import numpy as np
>>> file = h5py.File("test.hdf5",'w')
# Just fill a test file with a numpy array test dataset
>>> file["test"] = np.a
我有一个名为added的python列表,它包含156个单独的列表,其中包含两个cols引用和一个数组。一个例子如下:
[0, 1, array]
问题是,我有重复的,虽然它们并不准确,因为列引用将被翻转。以下两项将完全相同:
[[0, 1, array], [1, 0, array]]
我尝试删除重复项的方法是对数字进行排序,检查是否有相同的数字,如果相同,则将结果附加到新的列表中。
这两种情况都导致了单独的错误:
for a in range(len(added)):
added[a][0:2] = added[a][0:2].sort()
TypeError: can only
num_samples = 10
def predict(x):
sampled_models = [guide(None, None) for _ in range(num_samples)]
yhats = [model(x).data for model in sampled_models]
mean = torch.mean(torch.stack(yhats), 0)
return np.argmax(mean.numpy(), axis=1)
print('Prediction when network is forced to predi
我有一个简单的numpy数组。我想选择除第1行和第6行以外的所有行:
temp = np.array([1,2,3,4,5,6,7,8,9])
t = temp[~[0,5]]
我得到以下错误:
TypeError: bad operand type for unary ~: 'list'
执行此操作的正确方法是什么?
我正在尝试Numba与Numpy的数组索引行为,我遇到了一些我不太理解的东西;所以我希望有人能为我指出正确的方向,这可能是一个非常简单的问题。下面是两个函数,这两个函数都使用np.arange命令创建一个空数组。然后,我使用索引为0 ( Numba )和Numpy如何执行/中断( example[0] = 1 )向数组“追加”(试验各种方法以查看它们如何执行/中断)。
带有Numba的jit函数运行时没有出现错误,但是Numpy示例给出了错误:
IndexError: index 0 is out of bounds for axis 0 with size 0
Numpy错误是有意义的,但是
为了解决一个只可能逐个元素的问题,我需要将NumPy的元组索引和一个显式切片结合起来。
def f(shape, n):
"""
:param shape: any shape of an array
:type shape: tuple
:type n: int
"""
x = numpy.zeros( (n,) + shape )
for i in numpy.ndindex(shape): # i = (k, l, ...)
x[:,