2017-12-06 15 views
0

1か月のツイートデータセットから朝のつぶやきをフィルタリングしたいです。列の日付は元々はタイムスタンプの列でしたので、日付の時刻、インデックス、時間の間に変換しました。しかし、それは空のデータフレームを返します。どうしましたか?時間の間にパンダが動作していません

import pandas as pd 
import matplotlib.pyplot as plt 


if __name__ == "__main__": 
    df = pd.read_csv('inst.csv',encoding='utf-8') 
    df.date = pd.to_datetime(df.date) 
    df.set_index(pd.DatetimeIndex(df.date),inplace=True) 
    mor = df.between_time('6:00','12:00') 
    print(mor) 

ここでは、それらのタイムスタンプ間のすべてのエントリを持っていないので、あなたが戻って何を取得していないしているデータ

,X,Unnamed..0,id,owner_id,post_src,caption,likes,comments,date,code,location_id,location_name,location_slug,location_type,postal_code,lat,lng 
4,3,3,1.54153890455e+18,27131715,https://scontent.cdninstagram.com/t51.2885-15/e35/19227888_434457730286781_8956364636005859328_n.jpg,"Courage doesn't mean you don't get afraid. Courage means you don't let fear stop you. 
• 
• 
• 
• 
• 
• 
• 
• 
• 
#vancouver #bcplace #beautifulday #beautifulbC#explorebC#clouds #sky #city #cityliving #eveningsky #seaside #adventure #bC#instagood #goodvibes #goodtimes #positivevibes #instadaily #instagram #picoftheday #instagold #pictureoftheday #igdaily",5,0,1497985779,BVkpXddDAEC,741066469,Yaletown,yaletown,NA,,49.2757019,-123.1199065 
+0

こんにちは@monotonicであります! 'inst.csv'のサンプル行を共有してください。ありがとう、 –

+0

確かに、それは今含まれています – monotonic

+0

それは全く 'csv'ではありません...私はあなたがパンダがそれを読む方法を知っていると期待する方法を想像することはできません。 'csv'のフォーマット方法を知っていますか? –

答えて

1

の作品です。ここでの例では、あなたのデータを、です:

import pandas as pd 
df = pd.read_csv('inst.csv',encoding='utf-8') 
df.date = pd.to_datetime(df.date) 
df.set_index(pd.DatetimeIndex(df.date),inplace=True) 
more = df.between_time('0:00','9:00') 
less = df.between_time('11:00','12:00') 
print(more) 

は、私が戻って取得:

       Unnamed: 0 X Unnamed..0   id \ 
date 
1970-01-01 00:00:01.497985779   4 3   3 1.541539e+18 

           owner_id \ 
date 
1970-01-01 00:00:01.497985779 27131715 

                     post_src \ 
date 
1970-01-01 00:00:01.497985779 https://scontent.cdninstagram.com/t51.2885-15/... 

                     caption \ 
date 
1970-01-01 00:00:01.497985779 Courage doesn't mean you don't get afraid. Cou... 

           likes comments       date \ 
date 
1970-01-01 00:00:01.497985779  5   0 1970-01-01 00:00:01.497985779 

             code location_id location_name \ 
date 
1970-01-01 00:00:01.497985779 BVkpXddDAEC 741066469  Yaletown 

           location_slug location_type postal_code \ 
date 
1970-01-01 00:00:01.497985779  yaletown   NaN   NaN 

            lat   lng 
date 
1970-01-01 00:00:01.497985779 49.275702 -123.119906 

は、その後、私はlessを印刷する場合:

Empty DataFrame 
Columns: [Unnamed: 0, X, Unnamed..0, id, owner_id, post_src, caption, likes, comments, date, code, location_id, location_name, location_slug, location_type, postal_code, lat, lng] 
Index: [] 

ここに私のinst.csv、あなたの例のデータを基にしたのです。

,X,Unnamed..0,id,owner_id,post_src,caption,likes,comments,date,code,location_id,location_name,location_slug,location_type,postal_code,lat,lng 4,3,3,1.54153890455e+18,27131715,https://scontent.cdninstagram.com/t51.2885-15/e35/19227888_434457730286781_8956364636005859328_n.jpg,"Courage doesn't mean you don't get afraid. Courage means you don't let fear stop you. • • • • • • • • • 
#vancouver #bcplace #beautifulday #beautifulbC#explorebC#clouds #sky #city #cityliving #eveningsky #seaside #adventure #bC#instagood #goodvibes #goodtimes #positivevibes #instadaily #instagram #picoftheday #instagold #pictureoftheday #igdaily",5,0,1497985779,BVkpXddDAEC,741066469,Yaletown,yaletown,NA,,49.2757019,-123.1199065 

あなたは、あなたの時間文字列をより明示的に「AM」または「PM」を書きたい場合は、次のように:

anotherWay = df.between_time('6:00PM','1:00AM') 
+0

'.csv'ファイルをmy答え、私の答えでコードを実行すると、私は同じ結果を得ますか? –

+0

ありがとう。 – monotonic

+0

@monotonicあなたの問題に対する答えは、それに応じてあなた自身の答えを書いてそれを受け入れるべきです。 –

1

df.date = pd.to_datetime(df.date,unit='s')ユニットは、デフォルトのナノ秒

関連する問題