python - 改变 np.array 的输出结果
问题描述
我有 3 个不同的 .txt 文件,每个文件都包含x,y,z
如下坐标:我阅读了这 3 个文件的内容:
inputFileList = sorted(glob.glob(inputSourceDir + '/*.txt'), key=lambda x: (int(re.sub('\D', '', x)), x))
inputFileList = inputFileList[0:100]
inputTotalDataList = []
self.numberOfInputFiles = 0
for inputFilePath in inputFileList:
inputDataInFile = np.genfromtxt(inputFilePath, dtype=float, delimiter=',') # usecols= 0
baseWithExt = os.path.basename(inputFilePath)
base = os.path.splitext(baseWithExt)[0]
inputTotalDataList.append(inputDataInFile)
self.numberOfInputFiles = self.numberOfInputFiles + 1
self.inputTotalData = np.array(inputTotalDataList)
self.inputTotalData = self.inputTotalData.reshape(self.numberOfInputFiles * len(inputDataInFile), 3)
print('TotalData: ', inputTotalData )
作为输出,我得到:
TotalData: [[ 7.29948 -187.854 760.208 ]
[ -41.2607 -188.068 761.008 ]
[ -13.2162 -193.675 771.235 ]
[ 35.361 -185.632 776.405 ]
[ -58.8706 -188.025 785.184 ]
[ 12.8998 -196.275 789.446 ]
[ -27.303 -198.127 791.598 ]
[ -48.8703 -195.487 812.969 ]
[ 30.4976 -192.05 818.794 ]]
但我想表示每个读取的文件,如:
[[ 7.29948 -187.854 760.208 ]
[ -41.2607 -188.068 761.008 ]
[ -13.2162 -193.675 771.235 ]]
[[ 35.361 -185.632 776.405 ]
[ -58.8706 -188.025 785.184 ]
[ 12.8998 -196.275 789.446 ]]
[[ -27.303 -198.127 791.598 ]
[ -48.8703 -195.487 812.969 ]
[ 30.4976 -192.05 818.794 ]]
. . .
如何将我的输出转换为上述所需的结果?
解决方案
代替
self.inputTotalData = self.inputTotalData.reshape(self.numberOfInputFiles * len(inputDataInFile), 3)
使用所需的内部形状(3x3)并让它推断出第一个(外部)尺寸
self.inputTotalData = self.inputTotalData.reshape(-1, 3, 3)
推荐阅读
- android - 如何删除导航抽屉?
- python - “NoneType”对象在 Kivy 中没有属性“文本”
- c++ - 在 Botan 上使用 Argon2 生成哈希会导致垃圾数据和 0xC0000005:访问冲突读取位置 0x0000000100000000
- sql - 用于搜索和填充多行的 SQL 服务器查询
- javascript - 为 API 端点构造 json
- cmd - 如何将输出写入文件并在 CMD 窗口上显示相同的输出
- numpy - 使用 numpy 数组输入从 python 方法创建 PySpark UDF,以计算并返回单个浮点值
- html - 如何使用 display flex 使多个元素重叠
- python - Scrapy安装混乱
- azure - Azure 应用服务部署槽 - 应用程序网关