Betriebsumgebung
GeForce GTX 1070 (8GB)
ASRock Z170M Pro4S [Intel Z170chipset]
Ubuntu 14.04 LTS desktop amd64
TensorFlow v0.11
cuDNN v5.1 for Linux
CUDA v8.0
Python 2.7.6
IPython 5.1.0 -- An enhanced Interactive Python.
gcc (Ubuntu 4.8.4-2ubuntu1~14.04.3) 4.8.4
GNU bash, version 4.3.8(1)-release (x86_64-pc-linux-gnu)
In Python2-Umgebung ausführen.
input.tab
Tabulatorgetrennte Dateien.
x y z E v1 v2
1 2 3 4 5 6
1 2 3 4 5 6
1 2 3 4 5 6
result.csv
3, 1, 4, 1, 5
3, 1, 4, 1, 5
3, 1, 4, 1, 5
Es wird angenommen, dass die Werte von x, y, z, v1, v2 gespeichert sind.
output.tab
Ich möchte die folgende Datei erstellen.
x y z E v1 v2
3.000 1.000 4.000 4.000 1.000 5.000
3.000 1.000 4.000 4.000 1.000 5.000
3.000 1.000 4.000 4.000 1.000 5.000
code v0.1
*
In Python3 verwendet kann nicht in Python2 verwendet werden.
Ich habe verschiedene Dinge ausprobiert und am Ende die folgende solide Schrift erhalten.
merge_170503.py
from __future__ import absolute_import
from __future__ import division
from __future__ import print_function
import numpy as np
tabdat = np.genfromtxt('input.tab', delimiter=' ')
csvdat = np.genfromtxt('result.csv', delimiter=',')
for aline in zip(tabdat[1:], csvdat): # 1:skip title line
for idx in range(0, 3):
print("%.3f" % aline[1][idx], end=' ')
print("%.3f" % aline[0][3], end=' ')
for idx in range(3, 5):
print("%.3f" % aline[1][idx], end=' ')
print()
$ python merge_170503.py
3.000 1.000 4.000 4.000 1.000 5.000
3.000 1.000 4.000 4.000 1.000 5.000
3.000 1.000 4.000 4.000 1.000 5.000
Wenn ich versuche, es auf Python3 auszuführen, tritt das folgende Problem auf. Wir müssen darüber nachdenken, die Umwelt zu verbessern.
No module named numpy
@ shiracamus 'Kommentar führte einen sauberen Code mit numpy.c_
ein.
Danke für die Information. https://docs.scipy.org/doc/numpy/reference/generated/numpy.c_.html
Eine Suche auf numpy.c_ fand auch einen Artikel über Qiita. Verkettung von Matrizen mit Numpy NumPy-Array-Operation (2)