【发布时间】:2018-02-20 07:26:19
【问题描述】:
我有一个包含一些 NaN 值的数据框。
这是一个示例数据框:
sample_df = pd.DataFrame([[1,np.nan,1],[2,2,np.nan], [np.nan, 3, 3], [4,4,4],[np.nan,np.nan,5], [6,np.nan,np.nan]])
看起来像:
我在得到一个 json 之后做了什么:
sample_df.to_json(orient = 'records')
这给出了:
'[{"0":1.0,"1":null,"2":1.0},{"0":2.0,"1":2.0,"2":null},{"0":null,"1":3.0,"2":3.0},{"0":4.0,"1":4.0,"2":4.0},{"0":null,"1":null,"2":5.0},{"0":6.0,"1":null,"2":null}]'
我想将此数据帧保存到一个 json 中,每个 json 中有 2 行,但没有 Nan 值。以下是我尝试的方法:
df_dict = dict((n, sample_df.iloc[n:n+2, :]) for n in range(0, len(sample_df), 2))
for k, v in df_dict.items():
print(k)
print(v)
for d in (v.to_dict('record')):
for k,v in list(d.items()):
if type(v)==float:
if math.isnan(v):
del d[k]
json.dumps(df_dict)
我想要的输出:
'[{"0":1.0,"2":1.0},{"0":2.0,"1":2.0}]' -> 在一个 .json 文件中 '[{"1":3.0,"2":3.0},{"0":4.0,"1":4.0,"2":4.0}]' -> 在第二个 .json 文件中 '[{"2":5.0},{"0":6.0}]' -> 在第三个 .json 文件中
【问题讨论】:
-
Dataframe + 预期输出会有很大帮助!谢谢。
-
@cᴏʟᴅsᴘᴇᴇᴅ 添加!抱歉没有提供足够的细节。
标签: python json pandas dataframe nan