2017-03-05 38 views
1

私はpandaデータフレームのデータから週番号を抽出したいと思いますが、特定の日付から始めます。Pythonは特定の日付から週番号を抽出します

4月4日から例えば:

20/04/2010 --> 1

27/04/2010 --> 2

04/05/2010 --> 3

など..

任意のアイデア?

ありがとうございます!

+0

あなたは、その年の初めから日数を取得しようとすると7で、それを分割することができます私はありませんそれが常に正しい数を与えるかどうか確かめてください。 – atayenel

+0

指定された日付、または指定された日付の曜日の曜日で週が始まりますか? –

+0

指定された日付に開始します。 – Sheron

答えて

2

わずか7で2日、格差の間の日中の差を計算し、1を追加します。

from datetime import date 

origin = date(2010, 4, 20) 

def week_number_from(my_date, origin): 
    return (my_date - origin).days/7 + 1 
+0

ありがとうエリック!できます! – Sheron

+0

@Giadaこれがあなたの質問に答えるならば、答えをアップアップし、緑色のチェックをクリックして答えを選択してください。 – piRSquared

1

pandas to_datetimeを使用して、日付の列がまだdatetime形式でない場合は解析します。

http://pandas.pydata.org/pandas-docs/stable/generated/pandas.to_datetime.html

次に日付時間法の平日を使用しています。

https://docs.python.org/2/library/datetime.html

my_dataframe['week_nums'] = pandas.to_datetime(my_dataframe['date_col']).weekday() 

私はあなたが2つの日付の差を計算することは容易である...、特定の日付から曜日たい答えを更新します見ました申し訳ありません。

+0

ありがとう!しかし、これは1月1日からの週番号を示しています../ – Sheron

関連する問題