2017-08-03 51 views
0

10個のtxtファイル(A_1、A_2 ...... A_10、B_1、B_2 ..... B_10)を水平方向にマージし、出力をA_B_1、A_B_2 ...... A_B_3 ........問題はファイルAの行数が大きくて固定数(4320)、Bの行数がより小さく変動する(2689,3078 ...)のため、マージされたファイルをロードしようとするとnumpyを使用すると、Bの値がないときに、行から始まる間違った列数のエラーに直面しています。どのようにこの問題を解決するための任意の提案をいただければ幸いです。列の値がありません

import numpy as np 
import matplotlib.pyplot as plt 
%matplotlib notebook 
data=np.loadtxt('/Users/Hrihaan/Desktop/Code/A_B_5.txt') 
time=data[:,1] 
V=data[:,3] 
plt.plot(time,V) 

Missing Column Values at the point when B values end

+0

ポストあなたが使用するコード。 –

+0

私は、私はちょうど2つの異なる列からプロットしようとしていた@ SamCraig – Hrihaan

答えて

1

あなたが "A_B_5.txt" という名前のファイルがあるとします。 内容は以下のとおりです。あなたが買ってあげる

import pandas as pd 
data= pd.read_table("A_B_5.txt", sep="\s+", header=None).values 

3044 1995 9.0 3.8 3044 1995 9.0 3.8 
3044 1995 9.0 3.8 3044 1995 9.0 3.8 
3044 1995 9.0 3.8 3044 1995 9.0 3.8 
3044 1995 9.0 3.8 
3044 1995 9.0 3.8 
3044 1995 9.0 3.8 

あなたはread_tablepandasから使用することができます

読む

array([[ 3044. , 1995. , 9. , 3.8, 3044. , 1995. , 9. , 3.8], 
    [ 3044. , 1995. , 9. , 3.8, 3044. , 1995. , 9. , 3.8], 
    [ 3044. , 1995. , 9. , 3.8, 3044. , 1995. , 9. , 3.8], 
    [ 3044. , 1995. , 9. , 3.8, nan, nan, nan, nan], 
    [ 3044. , 1995. , 9. , 3.8, nan, nan, nan, nan], 
    [ 3044. , 1995. , 9. , 3.8, nan, nan, nan, nan]]) 

======ファイル一覧A_B_i.txti1,2,... 10

data =[pd.read_table("A_B_"+i+".txt", sep="\s+", header=None).values 
for i in range(1,11)] 

そしてdata[0]などの各データフレームにアクセスし、など

+0

それは動作していない、ファイルが存在しないと言って、私はチェックして、ファイルがそのフォルダにあると言う。 – Hrihaan

+0

@Hrihaanパンダをインストールしましたか?または、データとともに同じディレクトリにコードを実行してみてください。 – Huang

+0

はい黄、私はアナコンダを使用していますので、パンダがあります。空きスペースをすべてナノに置き換える方法を提案できますか? – Hrihaan

関連する問題