2017-01-25 3 views
2

私の経済学士号は、エネルギー消費に関するデータを分析する必要があります。しかし、私はいくつかのデータセットを特定のフォーマットで提供しています。私はこのデータを変更してStataで分析することができます。タイムスタンプからユーザーあたりの1日あたりの消費量にデータを変更するにはどうすればよいですか?

私はPythonとSQLにいくつかの基本的なスキルを持っていますが、これまでの私の論文では私の最後のデータセットでは成功しませんでした。私はすべてのあなたの助けに感謝するでしょう:)

問題: 私は3列と2,300万行のデータセットを得ました。 3つの列は、タイムスタンプ、ユーザー(およそ130人のユーザー)および消費(ワット/秒)です。最初の例では

Example of data set in Access

、あなたには、いくつかのユーザーが負の消費を持っていることがわかります。

これらのユーザーは私の調査とは無関係であり、負の消費価値を持つユーザーはすべて削除できます。どのように私は簡単にこれを行うことができますか?

第2の例では、生データセットが与えられている。タイムスタンプは約10〜15秒の間隔に基づいており、連続しています。したがって、測定1458185209は、測定後、タイムスタンプ1458185109で10〜15秒です。これらのタイムスタンプは匿名で生成されます。しかし、正確な開始時刻と終了時刻と測定日を知っています。

この情報から、ユーザーあたりの1日の平均消費量(KWatt /時間)を計算します。データセットには、1人のユーザーあたり300,000の測定ポイントがあるとします。測定の合計時間は2ヶ月です。したがって、ユーザーの平均消費量は、タイムスタンプ1からタイムスタンプ4918(300.000/61日)までの平均をとって計算することができます。

すべてのユーザーに対して、指定した期間内のすべての日にこれを実行します。

私は、Acces、Python、およびMySQLにいくつかの基本を持っています。しかし、私が試したすべてのコンピュータは、アクセスで2,300万行の問題を抱えています。 Accessでは、すべての反復で約30分かかりますので、私は単にそれを再生することはできません。多分、オプションはPythonスクリプトを書くことでしょうか?

私は経済学の学生でありデータサイエンスではないので、この問題を克服しようと私が助けてくれることを願っています。私はどんな提案にも開放的です!できるだけ具体的に問題を説明しようとしましたが、不明な点がある場合は教えてください:)

ありがとう!

+0

MS Accessはこのための適切なデータベースではありません。 Stack Overflowは推奨事項ではありませんが、Postgres、SQL Server Express、BigQuery(試用版)については、より優れた機能を提供する無料のソリューションと言います。 –

答えて

0

データセットにインデックスが定義されていますか?ユーザー、タイムスタンプ、およびユーザーとタイムスタンプの両方にインデックスを付けると、クエリのパフォーマンスが大幅に向上する可能性があります。

大量のデータを扱う場合、可能な限り多くの計算をデータベースにオフセットし、処理済みのものだけをPythonに引き渡してさらに解析することが最善の方法です。