dar*_*ool 4 python highcharts pandas
我有一个用于创建 JSON 的 Pandas 数据框,而后者又用于显示 highcharts 图表。
熊猫数据框:
Date colA colB
12-Sep-14 20 40
13-Sep-14 50 10
14-Sep-14 12 -20
15-Sep-14 74 43
Run Code Online (Sandbox Code Playgroud)
有没有办法将某些 colA 和 colB 值更改为 null。这样做的原因是我最终需要一个看起来像这样的 JSON:
[
[12-Sep-14, 20, 40],
[13-Sep-14, null, null],
[14-Sep-14, 12, -20],
[15-Sep-14, 74, 43]
]
Run Code Online (Sandbox Code Playgroud)
这样做的原因是我需要一个 highcharts 图表,其中某些绘图点是空白的。为此,您指定日期后跟空值。
所以我需要以某种方式更新 pandas 数据帧中的某些值,以便一旦我使用 .to_json() 将其转换为 JSON,那么 json 将包含指定的空值,如上例所示。
感谢您的任何建议。
尝试使用 NaN,这是 Pandas 的缺失值:
df = pd.read_clipboard()
df.colA.iloc[1] = NaN
Run Code Online (Sandbox Code Playgroud)
除了 NaN,您还可以使用 None。请注意,这些术语都没有输入引号。
然后你可以使用 to_json() 来获取你的输出:
df.to_json()
'{"Date":{"0":"12-Sep-14","1":"13-Sep-14","2":"14-Sep-14","3":"15-Sep-14"},"colA":{"0":20.0,"1":null,"2":12.0,"3":74.0},"colB":{"0":40,"1":10,"2":-20,"3":43}}'
Run Code Online (Sandbox Code Playgroud)
这有效吗?
import pandas as pd
# Read in data frame from clipboard
df = pd.read_clipboard()
df = df.replace(df.iloc[1][1:],'null')
Date colA colB
0 12-Sep-14 20 40
1 13-Sep-14 null null
2 14-Sep-14 12 -20
3 15-Sep-14 74 43
Run Code Online (Sandbox Code Playgroud)
这里,df.iloc[1] 提供对第 1 行的访问
最后,
df.to_json(orient='values').replace("\"","")
Run Code Online (Sandbox Code Playgroud)
给出不带“”的 json
[[12-Sep-14,20,40],[13-Sep-14,null,null],[14-Sep-14,12,-20],[15-Sep-14,74,43]]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
29703 次 |
| 最近记录: |