2017-02-06 5 views
3

このような種類の類似した種類がたくさんあることは知っていますが、既存の回答を通じて私の道を見つけることはできません。それは簡単な質問ですが、私はまだこの小さな問題に固執しています。私は多くの列を持つデータを持っています。私は既存の列の2つを使用して新しい列を作成したいと思います。このような何か:パンダの既存の列に参加して新しい列を作成する方法

Index Date   Time 
0  26-10-2017 06:00:00 
1  26-10-2017 06:15:00 
2  26-10-2017 06:30:00 

今、私は次のようになります。新しい列必要があります:私はまさに今それを行うことができません

Index Date   Time  Datetime 
0  26-10-2017 06:00:00 26-10-2017 06:00:00 
1  26-10-2017 06:15:00 26-10-2017 06:15:00 
2  26-10-2017 06:30:00 26-10-2017 06:30:00 

を。とにかく、私はちょうど価値の道を得ることができます

df5['Datetime'] = list(zip(df5.Date, df5.Time)) 

あります:私は次のコードを使用してい

Index Date   Time  Datetime 
0  26-10-2017 06:00:00 ('26-10-2017', '06:00:00') 
1  26-10-2017 06:15:00 ('26-10-2017', '06:15:00') 
2  26-10-2017 06:30:00 ('26-10-2017', '06:30:00') 

:私は現在、2つの文字列値を持つタプルを取得していますが、私はこれをしたくありません私はタプルではない?

答えて

1

は、列が文字列であると仮定すると、それらを追加し、pd.to_datetime

df.assign(DateTime=pd.to_datetime(df.Date + ' ' + df.Time)) 

    Index  Date  Time   DateTime 
0  0 26-10-2017 06:00:00 2017-10-26 06:00:00 
1  1 26-10-2017 06:15:00 2017-10-26 06:15:00 
2  2 26-10-2017 06:30:00 2017-10-26 06:30:00 
+0

は、はい、それは仕事を使用!私はちょうど私の1つの列の文字列をもう1つの文字列にしなければなりませんでした。どうもありがとう! – user7400738

1

あなたが必要sumが列Dateto_datetimeと列Timeto_timedeltaを変換:

df.Date = pd.to_datetime(df.Date) 
df.Time = pd.to_timedelta(df.Time) 
df['Datetime'] = df.Date + df.Time 
print (df) 
      Date  Time   Datetime 
Index           
0  2017-10-26 06:00:00 2017-10-26 06:00:00 
1  2017-10-26 06:15:00 2017-10-26 06:15:00 
2  2017-10-26 06:30:00 2017-10-26 06:30:00 

print (df.dtypes) 
Date   datetime64[ns] 
Time  timedelta64[ns] 
Datetime  datetime64[ns] 
dtype: object 
関連する問題