我正在使用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*映射是否可能?
乔金 -
我有一个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) 我有一个灰度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)
但是我只使用了三个对象.请告诉我如何获取每个对象.
我想知道如何从熊猫系列中排除一个或多个项目.例如:
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)
有没有更好的方法来做到这一点?
谢谢.
有没有人建议在下面的网站上打开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中解析这个内容.
我正在尝试使用以下代码合并两个 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)
我正在尝试仅使用 Pandas 编写一个简单的推荐系统,但我在过滤部分遇到了问题。我想选择 RatingCounts 列大于我选择的值的所有行。这会返回一个数据框,其中一列已填充使用正确的布尔值,但我无法使用此选择索引我的数据,它给了我标题中提到的值错误。这是屏幕截图
我的代码中有以下表达式:
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()将沿错误的轴总和.)
这出现了很多,令人惊讶的是似乎没有一个标准的解决方案.假设我有一堆数字属性 - 您可以想象使用它来根据学生/教师比例或污染或诸如此类的一堆组件分数对大学或城市进行排名 - 并希望将它们变成单个分数.
我想采取一些示例并进行插值以获得一致的评分函数.
也许有标准的多维曲线拟合或数据平滑库或某些东西使这简单明了?
更多例子:
math optimization machine-learning curve-fitting multidimensional-array
我找不到让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))
...任何提示?