teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

3

コードを編集

2020/02/20 23:06

投稿

py_beginner1
py_beginner1

スコア5

title CHANGED
File without changes
body CHANGED
@@ -43,7 +43,7 @@
43
43
  with open('d'+str(i)+'.csv') as da:#10個のファイルを扱う
44
44
  df = pd.read_csv(da)
45
45
  for j in range(0,100):#各IDそれぞれについて計算したい
46
- df2 = df[(df["Agent_ID"]==j)]
46
+ df2 = df[(df["ID"]==j)]
47
47
  for k in range(len(df2)):
48
48
  p[j].append(np.mean([d in df.loc[k+1, 'Data'] for d in df.loc[k, 'Data']]))
49
49
  print((sum(p[j]))/len(p[j]))

2

問題の修正

2020/02/20 23:06

投稿

py_beginner1
py_beginner1

スコア5

title CHANGED
File without changes
body CHANGED
@@ -3,8 +3,9 @@
3
3
 
4
4
  pythonで以下のcsvファイルを読み込み、リストを扱って計算を行いたいです。
5
5
 
6
- 以下のcsvの説明です。
6
+
7
7
  IDは0から99まで存在し各ID毎にData列にあるリスト内の数字が次の行のリスト内に含まれている確率を計算し,リストに代入したいです。
8
+ 具体的には、ID=0の時1行目のリストに含まれている数字が2行目のリストに含まれている確率、2行目のリストに含まれている数字が3行目のリストに含まれている確率を最後の行まで計算し平均を出すといった作業をIDの数だけ行い最後にそれらの平均を出すプログラムを作っています。
8
9
 
9
10
  ### 発生している問題・エラーメッセージ
10
11
 
@@ -13,7 +14,7 @@
13
14
  IndexError: list index out of range
14
15
  ```
15
16
 
16
- ### 該当のソースコード
17
+ ### 該当のcsv
17
18
 
18
19
  ```python
19
20
  R,G,ID,Data

1

コードを編集

2020/02/20 23:03

投稿

py_beginner1
py_beginner1

スコア5

title CHANGED
File without changes
body CHANGED
@@ -45,7 +45,7 @@
45
45
  df2 = df[(df["Agent_ID"]==j)]
46
46
  for k in range(len(df2)):
47
47
  p[j].append(np.mean([d in df.loc[k+1, 'Data'] for d in df.loc[k, 'Data']]))
48
- print((sum(p[j]))/sum(p[j]))
48
+ print((sum(p[j]))/len(p[j]))
49
49
  ```
50
50
  ### 懸念点
51
51
  初心者であるため、リストのエラーよりも大きな問題があるとおもわれるので