小编unu*_*tbu的帖子

Python ctypes:Python文件对象< - > C FILE*

我正在使用ctypes用Python包装一个C库(我已经控制过).我想用声明包装一个C函数:

int fread_int( FILE * stream );
Run Code Online (Sandbox Code Playgroud)

现在; 我想在python中打开文件,然后使用Python文件对象(以某种方式??)来访问底层的FILE*对象并将其传递给C函数:

# Python
fileH = open( file , "r")
value = ctypes_function_fread_int( ????? )
fileH.close()
Run Code Online (Sandbox Code Playgroud)

Python文件< - > FILE*映射是否​​可能?

乔金 -

python ctypes

9
推荐指数
2
解决办法
6229
查看次数

从Numpy Rec Array中选择Rows

我有一个Numpy rec数组,我想从中做一些类似于SQL的快速查询:SELECT * where array['phase'] == "P".我想获得一个记录数组作为输出,每行对应于满足查询条件的原始数组中的一行.有任何想法吗?我很确定我以前做过这个,但是不记得这个功能.

谢谢

rec.array([ (5295499, 2.8123965, 127.20443, 0.0, 1237680436.06, 908, -19.942589, 134.33951, 0.3888, 'P', 0.19513991),
       (5295499, 2.8123965, 127.20443, 0.0, 1237680436.06, 1387, -18.102, 125.639, 0.11, 'P', 1.2515257),
       (5447254, 39.025873, 143.31065, 0.0, 1245455521.85, 1512, 33.121667, 130.87833, 0.573, 'LR', 45.099504)], 
      dtype=[('eventid', '<i4'), ('eventlat', '<f8'), ('eventlon', '<f8'), ('eventdepth', '<f8'), ('eventtime', '<f8'), ('stationid', '<i4'), ('stationlat', '<f8'), ('stationlon', '<f8'), ('stationelv', '<f8'), ('phase', '|S7'), ('timeresidual', '<f8')])
Run Code Online (Sandbox Code Playgroud)

python select numpy recarray

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

在Python中从图像中提取连接的对象

我有一个灰度png图像,我想从我的图像中提取所有连接的组件.一些组件具有相同的强度,但我想为每个对象分配一个唯一的标签.这是我的形象

在此输入图像描述

我试过这段代码:

img = imread(images + 'soccer_cif' + str(i).zfill(6) + '_GT_index.png')
labeled, nr_objects = label(img)
print "Number of objects is %d " % nr_objects
Run Code Online (Sandbox Code Playgroud)

但是我只使用了三个对象.请告诉我如何获取每个对象.

python image scipy

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

从pandas系列中排除一个或多个项目

我想知道如何从熊猫系列中排除一个或多个项目.例如:

s = pd.Series(data=range(10), index=[chr(ord('A') + x) for x in range(10)])
Run Code Online (Sandbox Code Playgroud)

现在我想排除行B,D,E

一种效率极低的方法是:

index = s.index
for col in ['B','D','E']:
    index = index.delete(index.get_loc(col))

new_series = s[index]
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法来做到这一点?

谢谢.

python pandas

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

如何打开此XML文件以在Python中创建数据框?

有没有人建议在下面的网站上打开xml数据的最佳方法是将它放在python中的数据框(我更喜欢使用pandas)?该文件位于此站点上的"Data - XML(sdmx/zip)"链接中:

http://www.federalreserve.gov/pubs/feds/2006/200628/200628abs.html

我试过从http://timhomelab.blogspot.com/2014/01/how-to-read-xml-file-into-dataframe.html复制使用以下内容,似乎我越来越近了:

from lxml import objectify
import pandas as pd

path = 'feds200628.xml'
xml = objectify.parse(open(path))
root = xml.getroot()
root.getchildren()[0].getchildren()
df = pd.DataFrame(columns=('id', 'name'))

for i in range(0,4):
    obj = root.getchildren()[i].getchildren()
    row = dict(zip(['id', 'name'], [obj[0].text, obj[1].text]))
    row_s = pd.Series(row)
    row_s.name = i
    df = df.append(row_s)
Run Code Online (Sandbox Code Playgroud)

尽管如此,我还不太了解xml让我完成剩下的工作.

任何帮助都很棒 - 我甚至不需要它在数据框中,我只需要弄清楚如何以某种方式在python中解析这个内容.

python xml lxml pandas

9
推荐指数
2
解决办法
2万
查看次数

值错误:数组太大

我正在尝试使用以下代码合并两个 excel 文件并遇到错误 ValueError: array is too big; arr.size * arr.dtype.itemsize is larger than the maximum possible size.

import pandas as pd

file1 = pd.read_excel("file1.xlsx")
file2 = pd.read_excel("file2.xlsx")

file3 = file1.merge(file2, on="Input E-mail", how="outer")

file3.to_excel("merged1.xlsx")
Run Code Online (Sandbox Code Playgroud)

文件大小为 ~100MB+~100MB,可用内存为 9GB(16GB)

python

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

ValueError:无法使用多维键建立索引

我正在尝试仅使用 Pandas 编写一个简单的推荐系统,但我在过滤部分遇到了问题。我想选择 RatingCounts 列大于我选择的值的所有行。这会返回一个数据框,其中一列已填充使用正确的布尔值,但我无法使用此选择索引我的数据,它给了我标题中提到的值错误。这是屏幕截图

在此处输入图片说明

python pandas

9
推荐指数
1
解决办法
4万
查看次数

使用scipy.sparse.csc_matrix替换numpy广播

我的代码中有以下表达式:

a = (b / x[:, np.newaxis]).sum(axis=1)
Run Code Online (Sandbox Code Playgroud)

在哪里b是形状的ndarray (M, N),并且x是形状的ndarray (M,).现在,b实际上是稀疏的,所以对于内存效率我想用a scipy.sparse.csc_matrix或替换csr_matrix.然而,没有实现这种方式的广播(即使保证分割或乘法保持稀疏性)(条目x非零),并且提出a NotImplementedError.有sparse没有我不知道的功能会做我想做的事情?(dot()将沿错误的轴总和.)

python numpy scipy sparse-matrix

8
推荐指数
2
解决办法
2661
查看次数

将一堆数字属性转换为单个分数

这出现了很多,令人惊讶的是似乎没有一个标准的解决方案.假设我有一堆数字属性 - 您可以想象使用它来根据学生/教师比例或污染或诸如此类的一堆组件分数对大学或城市进行排名 - 并希望将它们变成单个分数.

我想采取一些示例并进行插值以获得一致的评分函数.

也许有标准的多维曲线拟合或数据平滑库或某些东西使这简单明了?

更多例子:

  • 将两个血压数字转换为单个分数,以确定血压接近最佳状态
  • 将身体测量值转换为衡量您与理想体质的距离的单一指标
  • 将一组时间(100米短跑等)转换为某项运动的健身分数

math optimization machine-learning curve-fitting multidimensional-array

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

Python3 - Sympy:扩展trig函数的产品

我找不到让SymPy将产品扩展cos(a)*cos(b)为角度和的三角函数之和的方法.

from sympy import *
init_printing()
wrf,wlo,t = symbols('\omega_RF \omega_LO t')
c = cos(wrf*t)*cos(wlo*t)
expand_trig(c)
Run Code Online (Sandbox Code Playgroud)

保持产品完好无损.simplify(c)或者trigsimp(c)也不提供任何替代形式.

我想cos(a)*cos(b)扩展到1/2*(cos(a+b) + cos(a-b)) ...任何提示?

python sympy

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