質問編集履歴

1

内容をも少し分かりやすくにしました。

2022/05/25 01:51

投稿

fideo
fideo

スコア55

test CHANGED
File without changes
test CHANGED
@@ -1,8 +1,10 @@
1
1
  **やりたいこと**
2
- 表1のように定刻[変更]が同じがある時があります
2
+ 表1のように定刻[変更]が同じがある時がありますので、
3
- 同じがある場合、表2のように1行にまとめたいです。
3
+ **表2**のように1行にまとめたいです。
4
+
4
5
  Pandasのgroupbyを使って、やって見ましたが、実現したい結果
5
6
  と上手くいかないです。
7
+
6
8
  コードには何がいけないか。
7
9
  もしくは他に簡単な方法がありましたら、教えていただけると嬉しいです。
8
10
  お手数ですが、よろしくお願い致します・
@@ -28,28 +30,40 @@
28
30
  05:00[ - ],サンフランシスコ,,ANA,NH0107,78I,T3,欠航
29
31
 
30
32
  ```
33
+
34
+ 現在のdf_afterの結果は1行でまとめておりますが、
35
+ 上記のように実現したい処理にならないです。
36
+ 機種,ターミナル,運航状況の行などの行が重複されます。
37
+ またなぜか経由地のセルに0.0として表示されます。
38
+
39
+ ```
40
+ 定刻[変更] 出発地 経由地 航空会社 便名 機種 ターミナル 運航状況
41
+ 0 00:15[ - ] マニラ 0.0 フィリピン航空 PR0424 321 T3 欠航
42
+ 1 05:00[ - ] サンフランシスコ 0.0 ANA NH0107 78I T3 欠航
43
+ 2 05:00[05:06] ロサンゼルスロサンゼルス 0.0 ANAユナイテッド航空 NH0105UA7983 77N77N T3T3 到着済み到着済み
44
+ ```
45
+
46
+
31
47
  コード
32
48
  ```
33
49
  import pandas as pd
34
- from openpyxl import Workbook, load_workbook
35
- from openpyxl.utils.dataframe import dataframe_to_rows
36
50
 
37
51
  #ファイル読み込み
38
- df = pd.read_csv(r"fligth.csv")
52
+ df = pd.read_csv(r"test.csv")
53
+ print(df)
39
54
 
40
55
  # #データフレーム
41
56
  # df = pd.DataFrame(df1)
42
57
  # print(df)
43
58
 
44
- # 参考ページ
59
+ #参考ページ
60
+ #https://qiita.com/propella/items/a9a32b878c77222630ae
45
- a=df.groupby(['定刻[変更]','出発地','経由地','航空会社','便名','機種']).mean()
61
+ # a=df.groupby(['定刻[変更]','出発地','経由地','航空会社','便名','機種']).mean()
46
- print(a)
62
+ # print(a)
47
63
 
64
+ #After
65
+ df_after = df.groupby('定刻[変更]').apply(lambda x: x.sum()).drop('定刻[変更]',axis=1).reset_index()
66
+ print(df_after)
48
67
  ```
49
68
 
50
- 現在の結果は何も出力しないです。
69
+
51
- ```
52
- Empty DataFrame
53
- Columns: []
54
- Index: []
55
- ```