2016-07-14 4 views
-1

は、私は私が.csvファイルをインポートして、次のように使用してパンダを使用して2列のインデックスを作成しましたPythonでインポートされた配列の算術演算を行うには?</p> <pre><code>data_AM = pd.read_csv(name_AM, header = None, names = None, usecols = [2,4]) </code></pre> <p>I:この質問は非常に簡単ですので、もし

を謝罪Pythonとだけ学生に新しいです列2から列4を減算したいのですが、np.subtractを使用すると、文字列であることを伝えるエラーが発生します。

列全体を浮動小数点数に変換しようとすると、列インデックスヘッダーのみが浮動小数点数に変換されます。例えば、私が使用している場合:

x = [float(i) for i in time_AM] 

time_AMカラム2である場合、出力は[2.0]

Iカラム4に対して同じことを行う場合、出力は[4.0]

ありますここで、time_AMの出力は次のようになります。

   2 
3   0 
4 2.83237624 
5 7.64838266 
6  11.6987 
7  15.60853 
8 19.3890476 
9 25.1548729 
10 30.15414 
11 33.55736 
12 37.2666435 
13 41.67488 
14 45.19324 
15 50.327446 
16 54.7211761 
17 61.7345772 
18 65.96731 
19 72.20469 
20 76.48047 
21 80.90832 
22 84.74452 

これで算術演算を行う方法についてのアドバイスはありますか?基本的には、私はそれを何度もやらなければならないので、非常にシンプルなものを自動化しようとしています。

+1

'dtype'引数を使用して配列を読み込むと、各カラムのデータ型を設定できます。詳細については、[the docs](http://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_csv.html)を参照してください。 –

+2

サンプルのCSVファイルと予想される出力/結果のデータセットを投稿してください。問題を再現する) - これはあなたの問題が何であるかを理解し、解決するのに役立ちます – MaxU

答えて

0

はこれを試してみてください:

data_AM.iloc[:, 2].astype('float64').subtract(data_AM.iloc[:,4].astype('float64')) 

.astype('float64')が浮かぶように列のデータ型を変換します。そしてsubtractはあなたが探している機能です。 .ilocは、ラベルではなく位置によって索引を付けるインデクサーです。

私は、学習曲線がかなり急峻であることを理解しています.Pandasはかなり機能が豊富で、多くのものがあります。しかし、the docsを見てください。

関連する問題