atwiki-logo
  • 新規作成
    • 新規ページ作成
    • 新規ページ作成(その他)
      • このページをコピーして新規ページ作成
      • このウィキ内の別ページをコピーして新規ページ作成
      • このページの子ページを作成
    • 新規ウィキ作成
  • 編集
    • ページ編集
    • ページ編集(簡易版)
    • ページ名変更
    • メニュー非表示でページ編集
    • ページの閲覧/編集権限変更
    • ページの編集モード変更
    • このページにファイルをアップロード
    • メニューを編集
    • 右メニューを編集
  • バージョン管理
    • 最新版変更点(差分)
    • 編集履歴(バックアップ)
    • アップロードファイル履歴
    • ページ操作履歴
  • ページ一覧
    • ページ一覧
    • このウィキのタグ一覧
    • このウィキのタグ(更新順)
    • このページの全コメント一覧
    • このウィキの全コメント一覧
    • おまかせページ移動
  • RSS
    • このウィキの更新情報RSS
    • このウィキ新着ページRSS
  • ヘルプ
    • ご利用ガイド
    • Wiki初心者向けガイド(基本操作)
    • このウィキの管理者に連絡
    • 運営会社に連絡(不具合、障害など)
ページ検索 メニュー
kohei-hasegawa @ ウィキ
  • ウィキ募集バナー
  • 目安箱バナー
  • 操作ガイド
  • 新規作成
  • 編集する
  • 全ページ一覧
  • 登録/ログイン
ページ一覧
kohei-hasegawa @ ウィキ
  • ウィキ募集バナー
  • 目安箱バナー
  • 操作ガイド
  • 新規作成
  • 編集する
  • 全ページ一覧
  • 登録/ログイン
ページ一覧
kohei-hasegawa @ ウィキ
ページ検索 メニュー
  • 新規作成
  • 編集する
  • 登録/ログイン
  • 管理メニュー
管理メニュー
  • 新規作成
    • 新規ページ作成
    • 新規ページ作成(その他)
      • このページをコピーして新規ページ作成
      • このウィキ内の別ページをコピーして新規ページ作成
      • このページの子ページを作成
    • 新規ウィキ作成
  • 編集
    • ページ編集
    • ページ編集(簡易版)
    • ページ名変更
    • メニュー非表示でページ編集
    • ページの閲覧/編集権限変更
    • ページの編集モード変更
    • このページにファイルをアップロード
    • メニューを編集
    • 右メニューを編集
  • バージョン管理
    • 最新版変更点(差分)
    • 編集履歴(バックアップ)
    • アップロードファイル履歴
    • ページ操作履歴
  • ページ一覧
    • このウィキの全ページ一覧
    • このウィキのタグ一覧
    • このウィキのタグ一覧(更新順)
    • このページの全コメント一覧
    • このウィキの全コメント一覧
    • おまかせページ移動
  • RSS
    • このwikiの更新情報RSS
    • このwikiの新着ページRSS
  • ヘルプ
    • ご利用ガイド
    • Wiki初心者向けガイド(基本操作)
    • このウィキの管理者に連絡
    • 運営会社に連絡する(不具合、障害など)
  • atwiki
  • kohei-hasegawa @ ウィキ
  • トップページ
  • Python講習
  • 課題5

kohei-hasegawa @ ウィキ

課題5

最終更新:2020年05月12日 20:14

kohei-hasegawa

- view
メンバー限定 登録/ログイン

課題5 スライスを用いた最大値の抽出+縮小配列の作成

さて,ここでは実際の研究であったPythonの活用を考えていきましょう.とある学生I君は水理シミュレーションの結果として,4800×4800の二次元水温データを入手しました.しかし,配列が大きいためエクセルでデータを使用することができず,8×8四方のエリアから最大値を抜き出してそれを四方の代表値として縮小した配列を用いることとしました.これをNumpyとスライスを活用して実装してみましょう.

最終的なアウトプットはeveryone.pyとします.温度分布はnp.random.uniform()で10℃から30℃の間で予め生成しましょう.また,整理する前後のデータはprintでI/O出力することとし,整理後のデータは np.savetxt()でcsv出力してみましょう.
※エクセルのグラフで扱えるデータ系列の個数は255個までなので,これでもエクセルでの活用には限界があります.


numpy.random.uniform([low=0.0][, high=1.0,] size=None)
lowからhighの範囲でsizeに沿った乱数配列を生成します.Lowのデフォルト設定は0.0,highは1.0となっており,sizeのみを指定した場合はrandom.randと同様の機能となります.



課題6 時系列データから2h, 3h平均データを作成する

とある学生T君は教員から毎時降水量のデータを2h,3h毎の平均データに整理するように指示されました.しかし,データが膨大でエクセルで処理するのは困難です.そこでT君はPythonでデータを処理することとしました.ここでは,時間別雨量データを1年分とし,そこから平均μ=1,分散σ=1とした対数正規分布np.random.lognormalによって時間別雨量をランダムに生成します.Matplotlibによって作成した対数正規分布のヒストグラムと時系列データのグラフを示しますので参考にしてください.当然,乱数ですので人によってグラフは異なります.なお,平均値は np.averageで可能です.ファイル名はprecipitaion.pyとしましょう.


np.random.lognormal(mean=0.0, sigma=1.0, size=None)
meanとsigmaの諸元を持つ対数正規分布に沿って,大きさがsizeの乱数を生成します.



回答


[課題1]
結果が正しければ出力される配列は28とか29ばかりになっているはずです.

Everyone.py
  1. Base = np.random.uniform(10,30,(4800,4800)) #base temperature data
  2. Length = int(len(Base)/8) #len()/8 will be float, must keep integer by using int()
  3. Result = np.empty((Length,Length)) #shrunken temp data = 600×600
  4.  
  5. for i in range(Length): #toward row
  6. for j in range(Length): #toward column
  7. row = i*8
  8. column = j*8
  9. array = Base[row:row+8,column:column+8] #slice 8×8 array
  10.    Data = array.max()
  11.    Result[i][j] = Data
  12. np.savetxt("Everyone.csv",Result,delimiter =",")

[課題2]

precipitation.py
  1. #define number of Data
  2. days = 365 # = one year
  3. hours = 24
  4. Ndata = days*hours #number of hourly data
  5.  
  6. #Log-normal distribution
  7. mean, sigma = 1,1
  8. hourly_precipitation = np.random.lognormal(mean, sigma, Ndata)
  9.  
  10. #Perpare resulting array
  11. two = np.empty(int(Ndata/2))
  12. three = np.empty(int(Ndata/3))
  13.  
  14. #Slice hourly basis
  15. for i in range(int(Ndata/2)): # two hour
  16. sls = hourly_precipitation[i:i+1]
  17. data = np.average(sls)
  18. two[i] = data
  19.  
  20. for i in range(int(Ndata/3)): # Three hour
  21. sls = hourly_precipitation[i:i+2]
  22. data = np.average(sls)
  23. three[i] = data
  24.  

最終的に得られたデータをnp.savetxtしてデータの内容を確認するとなお良いでしょう.

4章まとめ
「課題5」をウィキ内検索
LINE
シェア
Tweet
kohei-hasegawa @ ウィキ
記事メニュー
メニューを編集

メニュー

トップページ
  • 体裁全般
    • 図表
    • 引用
    • 数式
    • 文章表現
    • ソースコード
  • Officeテンプレ
  • Office Tips
  • 仕事Tips
  • 研究Tips
    • 文献レビュー
    • プレゼンの作り方
    • タスクスケジューラのすゝめ
  • 学位論文
    • 卒業論文
    • 修士論文
    • 博士論文
    • よく使う図表
  • 雑務Tips
    • プレゼン発表練習会
    • M1中間ポスター発表
    • 年度末大掃除
    • D論公聴会
    • 新歓BBQ
    • ソウル東京
    • 製本機の使い方
    • コピー機の使い方
    • 研究室紹介
  • 英語関係
    • 校正全般
    • 自己紹介(Biography)
    • 校正業者の活用方法
    • 英語プレゼン
    • 使えそうな例文
  • 論文執筆
    • タイトル
    • アブストラクト
    • 結果と考察
  • 勉強会
  • Python講習
  • 長谷川の遊び場
    • ダンピング対策状況マップ
    • Twitter拾い物
    • お引越しメモ
    • 本棚
    • 長谷川冒険記

Wiki編集方法

リンク

  • 長谷川のHP
  • 長谷川の予定



記事メニュー2

更新履歴

取得中です。

閲覧数ランキング(昨日)

  • カウンターの値があるページは1つもありません。

閲覧数ランキング(累計)

  • トップページ (4267)
  • トップページ/Python講習 (807)
  • トップページ/雑務Tips/D論公聴会 (578)
  • トップページ/学位論文/博士論文 (481)
  • トップページ/Python講習/オブジェクト指向で体裁を整える (397)
  • トップページ/体裁全般/文章表現 (370)
  • トップページ/長谷川の遊び場/本棚 (345)
  • トップページ/勉強会 (288)
  • トップページ/Office Tips (248)
  • トップページ/Python講習/他にも色々あります (236)


ここを編集
最近更新されたページ
  • 25日前

    メニュー
  • 168日前

    トップページ/長谷川の遊び場/本棚
  • 426日前

    トップページ/長谷川の遊び場/長谷川冒険記
  • 485日前

    トップページ/長谷川の遊び場/Twitter拾い物
  • 968日前

    トップページ/体裁全般/文章表現
  • 1033日前

    トップページ/Office Tips
  • 1177日前

    トップページ/Python講習
  • 1313日前

    トップページ/仕事Tips/国家公務員のためのマネジメントテキスト
  • 1349日前

    トップページ/仕事Tips
  • 1374日前

    トップページ/長谷川の遊び場
もっと見る
最近更新されたページ
  • 25日前

    メニュー
  • 168日前

    トップページ/長谷川の遊び場/本棚
  • 426日前

    トップページ/長谷川の遊び場/長谷川冒険記
  • 485日前

    トップページ/長谷川の遊び場/Twitter拾い物
  • 968日前

    トップページ/体裁全般/文章表現
  • 1033日前

    トップページ/Office Tips
  • 1177日前

    トップページ/Python講習
  • 1313日前

    トップページ/仕事Tips/国家公務員のためのマネジメントテキスト
  • 1349日前

    トップページ/仕事Tips
  • 1374日前

    トップページ/長谷川の遊び場
もっと見る
ウィキ募集バナー
急上昇Wikiランキング

急上昇中のWikiランキングです。今注目を集めている話題をチェックしてみよう!

  1. 馬主データベース@Wiki
  2. Dragon Marked For Death攻略Wiki
  3. 固めまとめWiki
  4. SDガンダム Gジェネレーションオーバーワールド 攻略Wiki
  5. GUNDAM WAR Wiki
  6. ファイアーエムブレム用語辞典
  7. 発車メロディーwiki
  8. ときめきメモリアル大辞典
  9. イナズマイレブンGO ギャラクシー ビッグバン/スーパーノヴァ 攻略wiki
  10. 番組スポンサー 詳しく! @ ウィキ
もっと見る
人気Wikiランキング

atwikiでよく見られているWikiのランキングです。新しい情報を発見してみよう!

  1. アニヲタWiki(仮)
  2. ストグラ まとめ @ウィキ
  3. ゲームカタログ@Wiki ~名作からクソゲーまで~
  4. 初音ミク Wiki
  5. 検索してはいけない言葉 @ ウィキ
  6. 発車メロディーwiki
  7. 機動戦士ガンダム バトルオペレーション2攻略Wiki 3rd Season
  8. 機動戦士ガンダム EXTREME VS.2 INFINITEBOOST wiki
  9. オレカバトル アプリ版 @ ウィキ
  10. Grand Theft Auto V(グランドセフトオート5)GTA5 & GTAオンライン 情報・攻略wiki
もっと見る
新規Wikiランキング

最近作成されたWikiのアクセスランキングです。見るだけでなく加筆してみよう!

  1. まどドラ攻略wiki
  2. MadTown GTA (Beta) まとめウィキ
  3. シュガードール情報まとめウィキ
  4. SurrounDead 攻略 (非公式wiki)
  5. Dark War Survival攻略
  6. R.E.P.O. 日本語解説Wiki
  7. ちいぽけ攻略
  8. シミュグラ2Wiki(Simulation Of Grand2)GTARP
  9. カツドンチャンネル @ Wiki
  10. AviUtl2のWiki
もっと見る
全体ページランキング

最近アクセスの多かったページランキングです。話題のページを見に行こう!

  1. 参加者一覧 - ストグラ まとめ @ウィキ
  2. 赤いガンダム - 機動戦士ガンダム EXTREME VS.2 INFINITEBOOST wiki
  3. 魔獣トゲイラ - バトルロイヤルR+α ファンフィクション(二次創作など)総合wiki
  4. 山下 ひろし - ストグラ まとめ @ウィキ
  5. マジカルバケーション - ゲームカタログ@Wiki ~名作からクソゲーまで~
  6. スティルインラブ(ウマ娘 プリティーダービー) - アニヲタWiki(仮)
  7. 稼ぎ - 地球防衛軍6 @ ウィキ
  8. ミッション攻略 - 地球防衛軍6 @ ウィキ
  9. サーヴァント/一覧/クラス別 - Fate/Grand Order @wiki 【FGO】
  10. 無馬 かな - ストグラ まとめ @ウィキ
もっと見る

  • このWikiのTOPへ
  • 全ページ一覧
  • アットウィキTOP
  • 利用規約
  • プライバシーポリシー

2019 AtWiki, Inc.