背景
我有一些数据帧,我正试图将其拆分,然后将各个列作为带符号的短字符串写入二进制文件。在
编码
for i in range(0, len(filesList)):
df = pd.read_csv(myPath + '/' + filesList[i], sep='\t', header=None)
dfA = df[1]
dfA = dfA - np.mean(dfA)
dfA = 10000*(dfA/(np.max(dfA)-np.min(dfA)))
dfA = dfA.astype(int)
dfA.to_csv(path=writeOutDirectoryPath + '/' + filesList[i] + 'LeadA', mode='wb', index=False)
通过将系列dfA转换成整数(我想,这将完成它们的转换,使其可以作为有符号的短消息可读;对于这个特定的转换后数据集,我的所有值都在-6000到6000之间。在
问题
我希望如此dfA.to\U csv以二进制形式写入文件,因此mode='wb'。我得到一个错误:
f = open(path, mode, errors='replace')
ValueError: binary mode doesn't take an errors argument
我一定是做错了什么,但我不知道是什么。也许toucv不能写出二进制文件,但是我在文档中找不到任何可以说明这一点的东西。除了告诉我我在这方面做了什么错误之外,什么是将数据帧中的信息转换成可以作为二进制文件的形式的最佳方法?在
编辑
把文件写出来CSV很简单(我已经可以这么做了)。如果有人有办法把CSV转换成二进制文件,我也完全愿意接受。在
Python3在尝试从pandas中打开文件时,给builtin open()函数一个错误,因为二进制文件模式只支持None作为错误参数。它可能只在熊猫的“w”模式下工作。在
Python 3 open() docs没有解释它,但它显示了in library code here.
您应该在here中查找使用python struct包编写适当的二进制类型的完整说明。在
相关问题 更多 >
编程相关推荐