将熊猫DataFrame的每一行转换为单独的Json字符串

Din*_*ius 2 python json python-2.7 pandas

我使用此代码来将熊猫DataFrame的每一行转换df为Json字符串。问题是它正在打印None,但是会df.head()打印出数据。

import pandas as pd
import json

df = pd.read_csv('mydataset.csv')

for i in df.index:
    print df.loc[i].to_json("row{}.json".format(i))
    if i==10:
        break
Run Code Online (Sandbox Code Playgroud)

如何获取每一行作为Json字符串变量并打印出来?Json字符串的结构是简单的,没有数组,只有字符串,整数和浮点字段。

jez*_*ael 5

使用apply带有参数axis=1的按行的过程:

df.apply(lambda x: x.to_json("row{}.json".format(x.name)), axis=1)
Run Code Online (Sandbox Code Playgroud)

如果只想看输出:

df.apply(lambda x: print(x.to_json()), axis=1)
Run Code Online (Sandbox Code Playgroud)

编辑:

使用自定义功能:

def f(x):
    a = x.to_json()
    print (a)


df.apply(f, axis=1)
Run Code Online (Sandbox Code Playgroud)