回答編集履歴
4
バグを修正
test
CHANGED
@@ -19,8 +19,6 @@
|
|
19
19
|
for column in df.columns:
|
20
20
|
|
21
21
|
rule = rule.replace(column, f"df['{column}']")
|
22
|
-
|
23
|
-
rules[col_name] = rule
|
24
22
|
|
25
23
|
exec(f"new_df['{col_name}'] = {rule}")
|
26
24
|
|
3
さらに簡素化
test
CHANGED
@@ -8,13 +8,9 @@
|
|
8
8
|
|
9
9
|
from io import StringIO
|
10
10
|
|
11
|
-
from copy import deepcopy
|
12
|
-
|
13
11
|
|
14
12
|
|
15
13
|
def create_dataframe_by_rules(df, rules):
|
16
|
-
|
17
|
-
rules = deepcopy(rules) # rulesを破壊してよいなら不要
|
18
14
|
|
19
15
|
new_df = pd.DataFrame()
|
20
16
|
|
2
ループを1つにまとめた
test
CHANGED
@@ -16,6 +16,8 @@
|
|
16
16
|
|
17
17
|
rules = deepcopy(rules) # rulesを破壊してよいなら不要
|
18
18
|
|
19
|
+
new_df = pd.DataFrame()
|
20
|
+
|
19
21
|
for col_name, rule in rules.items():
|
20
22
|
|
21
23
|
for column in df.columns:
|
@@ -23,10 +25,6 @@
|
|
23
25
|
rule = rule.replace(column, f"df['{column}']")
|
24
26
|
|
25
27
|
rules[col_name] = rule
|
26
|
-
|
27
|
-
new_df = pd.DataFrame()
|
28
|
-
|
29
|
-
for col_name, rule in rules.items():
|
30
28
|
|
31
29
|
exec(f"new_df['{col_name}'] = {rule}")
|
32
30
|
|
1
ソースコードを1つにまとめた
test
CHANGED
@@ -3,6 +3,10 @@
|
|
3
3
|
|
4
4
|
|
5
5
|
```python
|
6
|
+
|
7
|
+
import pandas as pd
|
8
|
+
|
9
|
+
from io import StringIO
|
6
10
|
|
7
11
|
from copy import deepcopy
|
8
12
|
|
@@ -28,15 +32,7 @@
|
|
28
32
|
|
29
33
|
return new_df
|
30
34
|
|
31
|
-
```
|
32
35
|
|
33
|
-
|
34
|
-
|
35
|
-
```python
|
36
|
-
|
37
|
-
import pandas as pd
|
38
|
-
|
39
|
-
from io import StringIO
|
40
36
|
|
41
37
|
|
42
38
|
|