10

ヘイ私はパンダでここからダウンロードできるcsvファイルを読み込もうとしています(euriborレート私がこのファイルを持ちたい理由を想像できると思います!)。このファイルはCSVファイルですが、どういうわけか奇妙な方向に向いています。Excelファイルにインポートした場合の形式は

   02/01/2012,03/01/2012,04/01/2012,,,, 
1w 0.652,0.626,0.606,,,,
2w,0.738,0.716,0.700,,,,

最初の列が12mまで上がるように行動します(ただし、サンプルをダウンロードできるリンクを提供します)。パンダで読みたいのですが、正しく読めません。Pandasにはcsvファイルを読み取るための組み込み関数がありますが、どういうわけか、列指向ではなく行指向であることが期待されます。このインデックスの時間変化をプロットするために、3mというラベルの付いた行の情報を取得し、値と日付を取得したいと思います。しかし、私はこの問題を処理することはできません。私はデータを読み取ることができることを知っています

import pandas 
data = pandas.io.read_csv("file.csv",parse_dates=True) 

しかし、csvファイルがなんらかの方法で転置されれば機能します。H

4

2 に答える 2

7

pandas データフレームには.transpose()メソッドがありますが、このファイル内のすべての空の行が好きではありません。クリーンアップする方法は次のとおりです。

df = pandas.read_csv("hist_EURIBOR_2012.csv")  # Read the file
df = df[:15]    # Chop off the empty rows beyond 12m
df2 = df.transpose()
df2 = df2[:88]  # Chop off what were empty columns (I guess you should increase 88 as more data is added.

もちろん、これらを連鎖させることもできます:

df2 = pandas.read_csv("hist_EURIBOR_2012.csv")[:15].transpose()[:88]

必要なデータは次のとおりですが、df2['3m']日付は引き続き文字列として保存されます。に変換する方法がよくわかりませんDateIndex

于 2012-05-07T15:26:52.707 に答える
0

csv 処理に pandas を使用したことはありません。これらはイテレータを使用するため、標準の Python lib csv 関数を使用するだけです。

import csv
myCSVfile=r"c:/Documents and Settings/Jason/Desktop/hist_EURIBOR_2012.csv"
f=open(myCSVfile,"r")
reader=csv.reader(f,delimiter=',')
data=[]
for l in reader:
    if l[0].strip()=="3m":
        data.append(l)

f.close()
于 2012-05-07T15:26:13.200 に答える