1
私はこのようなデータセットを持っています: item_nbr |日付 123 | 2016-09-23 123 | 2016-10-23 112 | 2016-08-15 112 | 2016年9月15日私はそれはこのように見えるようにgroupByKeyを使用pysparkでString型の日付をIntに変換する
: '123'、[ '2016年9月23日'、 '2016年10月23日'] '112'、[ '2016- 08-15 '、' 2016-09-15 '] ここでは、この2つの日付の差を計算したいと考えています。それは文字列だかのように日付を扱う
def ipi_generate(x):
member_ipi_list = []
master_ans = []
for j in range(1,len(x[1])):
ans = x[1][j]-x[1][j-1]
master_ans.append(ans)
member_ipi_list.append(x[0])
member_ipi_list.append(master_ans)
return [member_ipi_list]
:私はこのようになります機能を持っています。どのように私は文字列の日付をpysparkのintの日付に変換するのですか?おかげさまで
datetimeライブラリを使用してみましたか? 'datetime.strptime(x [1] [j]、 '%Y-%m-%d')'のように – aku
また、キーでグループ化する前にこれらをdatetimeオブジェクト*に変換しない理由はありますか?私はあなたのより大きな目標を意識していないので、これは適切かもしれないし、そうでないかもしれませんが、ここではウィンドウ関数や集約関数が簡単かもしれません。それらを見てください。 – aku
関数でdatetimeライブラリを使用しました。ありがとうございました。 :)文字列をdatetimeオブジェクトに変換しようとしましたが、最終出力が必要なのでキーでグループ化する前にそれをしませんでした。 – iratelilkid