私は、以下の生データを持っているパンダread_csv:解析する時間フィールドを正しく
TranID,TranDate,TranTime,TranAmt
A123456,20160427,02:18,9999.53
B123457,20160426,02:48,26070.33
C123458,20160425,03:18,13779.56
A123459,20160424,03:18,18157.26
B123460,20160423,04:18,215868.15
C123461,20160422,04:18,23695.25
A123462,20160421,05:18,57
B123463,20160420,05:18,64594.24
C123464,20160419,06:18,47890.91
A123465,20160427,06:18,14119.74
B123466,20160426,07:18,2649.6
C123467,20160425,07:18,16757.38
A123468,20160424,08:18,8864.78
B123469,20160423,08:18,26254.69
C123470,20160422,09:18,13206.98
A123471,20160421,09:18,15872.45
B123472,20160420,10:18,197621.18
C123473,20160419,10:18,21048.72
と私はPDのread_csvを使用して、生のデータをインポートしようとした、
Try1
import numpy as np
import pandas as pd
df = pd.read_csv('MyTest.csv', sep=',', header=0, parse_dates=['TranDate'],
usecols=['TranID','TranDate','TranTime','TranAmt'],
engine='python')
print(df.dtypes)
df[:5]
出力1
TranID object
TranDate datetime64[ns]
TranTime object
TranAmt float64
dtype: object
Out[12]:
TranID TranDate TranTime TranAmt
0 A123456 2016-04-27 02:18 9999.53
1 B123457 2016-04-26 02:48 26070.33
2 C123458 2016-04-25 03:18 13779.56
3 A123459 2016-04-24 03:18 18157.26
4 B123460 2016-04-23 04:18 215868.15
Try2
import numpy as np
import pandas as pd
df = pd.read_csv('MyTest.csv', sep=',', header=0, parse_dates=['TranDate', 'TranTime'],
usecols=['TranID','TranDate','TranTime','TranAmt'],
engine='python')
print(df.dtypes)
df[:5]
出力2
TranID object
TranDate datetime64[ns]
TranTime datetime64[ns]
TranAmt float64
dtype: object
Out[13]:
TranID TranDate TranTime TranAmt
0 A123456 2016-04-27 2016-04-27 02:18:00 9999.53
1 B123457 2016-04-26 2016-04-27 02:48:00 26070.33
2 C123458 2016-04-25 2016-04-27 03:18:00 13779.56
3 A123459 2016-04-24 2016-04-27 03:18:00 18157.26
4 B123460 2016-04-23 2016-04-27 04:18:00 215868.15
私の混乱は、TRANTIME列です。 Try1では正しく表示されますが、dtypeはobjectです。 Try2では、pdは現在の日付を時刻に追加し、dtypeはdatetimeです。
このTranTime列をTimeとして扱い、pdのgroupbyまたはpivot_tableを使用して集計を実行します。 Try1メソッドを使用すると、オブジェクトdtypeは集計に影響しますか? Try2メソッドを使用する場合、Timeパートを使用するには、Dateパートを削除する必要がありますか?
私はSASに熟練しています。ここでは、SASには日付、時刻、日時の情報があり、基礎となるデータ型は数字のみの形式です。したがって、私のPythonのオブジェクトとdatetimeのdtypesとの混乱。
おかげで、 Lobbie
お返事ありがとうございました。すべての良いと私は今日何か新しいことを学ぶ。よろしくね、ロビー – Lobbie