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

質問編集履歴

1

2019/11/26 00:49

投稿

pcbginer
pcbginer

スコア25

title CHANGED
File without changes
body CHANGED
@@ -1,3 +1,59 @@
1
+ ```python
2
+
3
+ # -*- coding: utf-8 -*-
4
+ import pandas as pd
5
+
6
+ #csvファイルの読み込み
7
+ df = pd.read_csv("./test2.csv")
8
+
9
+ #datetimeとidの列だけを抽出する
10
+ df = df[["datetime","id"]]
11
+
12
+ #datatimeの数値の形式を計算処理ができる形にする
13
+ df["new"] = pd.to_datetime(df["datetime"])
14
+
15
+ #速度処理(秒速)
16
+ i = 0
17
+ a = 1
18
+ while i <= 8 and a < 8:
19
+
20
+ #idが同じのがあったら、秒速を求める
21
+ if df.iloc[i][1] == df.iloc[a][1]:
22
+
23
+ #分が同じ時は、秒数だけを計算する
24
+ if df["new"][i].minute == df["new"][a].minute:
25
+ df["speed"] = 50 // (df["new"][a].second - df["new"][i].second)
26
+ print(50 // (df["new"][a].second - df["new"][i].second))
27
+
28
+ #分を秒に変えて、計算する
29
+ else:
30
+ df["speed"] = 50 // ((df["new"][a].minute - df["new"][i].minute) * 60 + (df["new"][a].second - df["new"][i].second))
31
+
32
+ #elif df.iloc[i][1] != df.iloc[a][1]:
33
+ #df["speed"] = "nothing"
34
+
35
+ i += 1
36
+ a += 1
37
+
38
+ #csvファイルの出力形式の確認
39
+ print(df)
40
+
41
+ #csvファイルの書きだし(秒速の値をcsvファイルに書き込む)
42
+ df.to_csv('test2.csv')
43
+
44
+ ```
1
45
  ### 質問
2
46
  仕事の方で、csvファイルをpythonのpandasを使用して書き込みの作業を行なっているのですが、pandasを使って、特定の行にそれぞれ違う値をいれることは可能でしょうか?
3
- 可能ならば、参考サイトなど、具体的な方法を教えていただけるとありがたいです
47
+ 可能ならば、参考サイトなど、具体的な方法を教えていただけるとありがたいです
48
+
49
+ ### 読み込むcsvファイル
50
+ ,datetime,id
51
+ 0,2019-02-21 17:15:14.500000,9
52
+ 1,2019-02-21 17:15:15.700000,9
53
+ 2,2019-02-21 17:15:33.300000,117
54
+ 3,2019-02-21 17:16:11.600000,213
55
+ 4,2019-02-21 17:16:12.700000,213
56
+ 5,2019-02-21 17:16:12.700000,193
57
+ 6,2019-02-21 17:19:10.300000,533
58
+ 7,2019-02-21 17:19:11.400000,533
59
+ 8,2019-02-21 17:20:14.800000,681