小编afs*_*hin的帖子

Django - 过滤空整数字段不起作用

这是我正在使用的查询集:

模型:

class Category(models.Model):
    categoryText = models.CharField(max_length=50)
    parentCat = models.ForeignKey('self',null=True,blank=True)
Run Code Online (Sandbox Code Playgroud)

我试图查询parentCat为空/未设置的所有条目.

queryset=Category.objects.all().filter(parent=null)
Run Code Online (Sandbox Code Playgroud)

显然这不起作用 - 执行此查询的正确方法是什么?

django django-models

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

如何对具有特定结构元素的结构列表进行排序?

如何正确排序这个结构?

struct Person 
{
    public string Name;
    public int    Age;
}

List<Person> People = new List<Person>();

// Add several hundred records

// sort by age
People.Sort(Person.Age);
Run Code Online (Sandbox Code Playgroud)

c# sorting list

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

如何从数字列表中创建数字符号的列表/数组

我有一大堆数字:

n =  [ 1.2,0,-0.5,0.3,0,-0.8]
Run Code Online (Sandbox Code Playgroud)

我想创建一个numpy数组使用上面只保存数字的符号,结果应该是:

s = [1,0,-1,1,0,-1]
Run Code Online (Sandbox Code Playgroud)

我可以用循环创建它:

s= np.zeros(n.shape[0])    
for i in range (n.shape[0]):
    if n[i]>0: s[i]=1
    if n[i]<0: s[i]=-1    
Run Code Online (Sandbox Code Playgroud)

有没有办法使用列表理解与numpy数组,可以做同样的高性能?

python numpy

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

增加列表切片的最快方法是什么?

我有一个清单:

lst = [ 1,2,3,4,5,6,7,8]
Run Code Online (Sandbox Code Playgroud)

我想增加索引 4 以上的所有数字。

for i in range(4,len(lst)):
    lst[i]+=2
Run Code Online (Sandbox Code Playgroud)

由于此操作需要进行多次,因此我想以最有效的方式进行。我怎么能这么快。

python

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

从列表列中的每个列表中获取第一个元素

我有一个数据框,其中的列包含数字列表:

idx codes       new_column
0   [12,18,5]
1   [22,15]
2   [4]
3   [15,1]
Run Code Online (Sandbox Code Playgroud)

如何向包含代码列的第一个列表条目的数据框添加新列:

idx codes     new_column
0   [12,18,5]  12
1   [22,15]    22
2   [4]         4
3   [15,1]     15

I tried:
    df['new_column']=df['codes'][0]

However, that didn't work.
Run Code Online (Sandbox Code Playgroud)

python list dataframe pandas

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

当我将数据分割为具有 30 个不同键的 30 个较小的数据帧时,为什么 hdf5 文件大小会急剧增加

我有一系列包含大熊猫数据帧的 hdf5 文件。一个典型的文件大约有 1000,000 行。我使用 complib='blosc',complevel=9 进行压缩。原始 hdf5 文件保存为 1 个平面文件。

然后,我尝试将数据帧逻辑分割为 30 个较小的数据帧,并将它们保存在具有 30 个不同键和相同压缩的同一个 hdf5 文件中。

令人震惊的问题是,具有 30 个较小数据帧的文件比平面文件大 40 倍。

平面 hdf5 文件保存如下:

dfx.to_hdf(file_name, key='opp',mode='a',complib='blosc',complevel=9, append=True)

分段的hdf5文件保存如下:

for i in range(30): dfx_small[i].to_hdf(file_name,key='d'+str(i), mode='a',complib='blosc',complevel=9

我做错了什么或者这个尺寸增加是预期的吗?

额外观察

我比较了生成为 1) 平面数据帧与 2)30 块数据帧的所有 hdf5 文件 - 当数据帧保存为 30 个较小的数据帧时,最大的文件大小似乎增加了 8 倍到 10 倍,同时较小的文件大小增加了 100 倍到 1000 倍。然后我尝试在压缩和不压缩的情况下保存 30 个块的 hdf5 文件。看来,当多个具有唯一键的数据帧放置在同一个 hdf5 文件中时,压缩几乎不起作用。我尝试了所有压缩选项,结果相似。

保存具有多个数据集的 hdf5 文件时存在压缩错误。

我添加了问题#45286

python hdf5 pytables h5py pandas

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

标签 统计

python ×4

list ×2

pandas ×2

c# ×1

dataframe ×1

django ×1

django-models ×1

h5py ×1

hdf5 ×1

numpy ×1

pytables ×1

sorting ×1