0

DataFrame日付形式に変換したい文字列値の列があります。??:??RI では通常、これをで置き換え12:00、時間を削除し、最後に追加し、POSIX 関数で変換する一連のステップに分解します。

私はそれをPythonでよりPython的な方法で複製しようとしています

これは私のDataFrame(150,000行)からの抜粋ですSeries

index  date
0    21/08/2001 10:20
1     19/09/2005 9:50
2     ??:?? 04-Jun-01
3    16/08/2004 7:15 
4     ??:?? 04-Jan-01 
5     23/01/2001 9:25 
6    24/01/2001 11:16 
7     ??:?? 05-Feb-01 
8     24/01/2001 8:30 
9    24/01/2001 15:15

これが私が試したことです(私は抜粋を呼び出しましたtmp。):

次のように、リスト内包表記と正規表現の置換を使用できると思いました。

[re.sub('\\?\\?:\\?\\?', '12:00', tmp) for i in tmp[i]]

私がやりたいのは、??:??withの置換を取得し12:00てから一般化して、 で使用できるようにすることtmp.applyです。

アドバイスをいただければ幸いです。

4

1 に答える 1

1

あなたが使用することができますSeries.str.replace():

date = """21/08/2001 10:20
19/09/2005 9:50
??:?? 04-Jun-01
16/08/2004 7:15 
??:?? 04-Jan-01 
23/01/2001 9:25 
24/01/2001 11:16 
??:?? 05-Feb-01 
24/01/2001 8:30 
24/01/2001 15:15""".split("\n")

s = pd.Series(date)
s.str.replace("\?\?:\?\?", "12:00")
于 2013-03-30T03:33:20.013 に答える