回答編集履歴
2
test
CHANGED
@@ -52,8 +52,9 @@
|
|
52
52
|
'c':[10,11,np.nan,np.nan,None],'d':[15,16,17,None,19],
|
53
53
|
'e':[np.nan,np.nan,np.nan,np.nan,np.nan]})
|
54
54
|
|
55
|
-
dic = {f'{k}-{i}':
|
55
|
+
dic = {f'{k}-{i}': v
|
56
|
-
for i, d in enumerate(df.to_dict(orient='records'))
|
56
|
+
for i, d in enumerate(df.replace({np.nan: None}).to_dict(orient='records'))
|
57
|
+
for k, v in d.items()}
|
57
58
|
print(json.dumps(dic,indent=4))
|
58
59
|
```
|
59
60
|
|
1
test
CHANGED
@@ -40,3 +40,20 @@
|
|
40
40
|
# }
|
41
41
|
```
|
42
42
|
|
43
|
+
### 追記
|
44
|
+
|
45
|
+
`pandas.DataFrame.to_dict()` と辞書内包表記(dictionary comprehension) を使用して以下の様にも書くことができます。
|
46
|
+
```python
|
47
|
+
import pandas as pd
|
48
|
+
import numpy as np
|
49
|
+
import json
|
50
|
+
|
51
|
+
df=pd.DataFrame({'a':[0,1,2,3,4],'b':[None,6,7,8,np.nan],
|
52
|
+
'c':[10,11,np.nan,np.nan,None],'d':[15,16,17,None,19],
|
53
|
+
'e':[np.nan,np.nan,np.nan,np.nan,np.nan]})
|
54
|
+
|
55
|
+
dic = {f'{k}-{i}': None if np.isnan(v) else v
|
56
|
+
for i, d in enumerate(df.to_dict(orient='records')) for k, v in d.items()}
|
57
|
+
print(json.dumps(dic,indent=4))
|
58
|
+
```
|
59
|
+
|