私のコードには、時間と分を含まず、日付のみを含むデータフレームの日付列に起因するバグがあります。私は問題の原因を、これら2つの機能を連続して実行するのか、それを1つずつ実行するのかによって追跡しました。私が関数を1つずつ実行すると問題はありません。両方を実行すると、私の結果は予期しないものになります。Pandas Datetime/dt.dateで予期しない動作が発生しました
これらの関数を連続して実行する必要がありますが、これらは互いに依存しません。私はPythonには新しいので、これは入力が上書きされていることが原因だと思っていました。(私が知る限り、Javaで起こったことではないでしょう)
def func1(dataset):
originalData = dataset
# only look at one day at a time- remove extra unnecessary info
originalData ['Date'] = pd.to_datetime(originalData ['Date'])
print dataset, 'test1'
originalData ['Date'] = originalData ['Date'].dt.date
print dataset, 'test2'
# other stuff
def func2(dataset):
originalData2 = dataset
# look at entire datetime
originalData2['Date'] = pd.to_datetime(originalData2['Date'])
print originalData2
# other stuff
を実行し、このように、私は第二の機能で時間を失う:だから、私は次のように機能を変更しました。このような
csv = pd.read_csv(csvFileName)
func1(csv)
func2(csv)
ランは、私の所望の出力で関数func2結果:実行するとTEST2のプリントアウトのみ日付ながら
csv = pd.read_csv(csvFileName)
func2(csv)
奇妙なことは、日時と日付アウト関数func1、test1のプリントです。変更がoriginalDatasetに適用されても、データセットは変更されています。私は何かを誤解していますか?前もって感謝します。
それを修正しました!ありがとう! –