1

以下のようにpython pandasデータフレーム「df」があります-

      NAME  SETID   VENDOR_ID vendor_created_date
0  Vendor1     SD          93 2002-11-22 11:04:33
1  Vendor2     SD          94 2003-08-09 11:40:59
2  Service1    SD          95 2003-10-31 10:29:21
3  Vendor3     SD          01                 NaT
4  Vendor4     SD          02                 NaT 

vendor_created_date形式は ですdatetime64[ns]

ここで、フィールド値がフォーマットされるべきfomatted_date場所と呼ばれる新しいフィールドを作成したいと思います &日付フィールドの行を削除したいと思います.vendor_created_dateMON-YYYYNaT

道順を教えてください。

4

2 に答える 2

4

これはあなたが望んでいた形式ですか?

基本的に、NaN最初に行をドロップしてから呼び出しapplyて使用datetime.strftimeし、新しいフォーマットを適用できます。

In [24]:

df = df.dropna()
df['fomatted_date'] = df['vendor_created_date'].apply(lambda x: dt.datetime.strftime(x,'%b-%Y'))
df
Out[24]:
           NAME SETID  VENDOR_ID vendor_created_date fomatted_date
Index                                                             
0       Vendor1    SD         93 2002-11-22 11:04:33      Nov-2002
1       Vendor2    SD         94 2003-08-09 11:40:59      Aug-2003
2      Service1    SD         95 2003-10-31 10:29:21      Oct-2003
于 2015-03-24T18:57:15.987 に答える
0

それを行うにはいくつかの方法があります。

1 つの方法は、正規表現 (reモジュール) を使用して既知のパターンを検索し、それを目的の出力に置き換えることです。

もう 1 つの方法は、datetimeモジュールを使用して、datetime.datetime.strftime で目的の形式に変換することです。

于 2015-03-24T18:57:54.210 に答える