将json.loads应用于pandas df中的每一行,可以通过apply函数结合lambda表达式来实现。
首先,导入所需的库:
import pandas as pd
import json
接下来,创建一个示例的DataFrame:
data = {'json_data': ['{"name": "John", "age": 30}', '{"name": "Jane", "age": 25}']}
df = pd.DataFrame(data)
示例DataFrame的结构如下:
json_data
0 {"name": "John", "age": 30}
1 {"name": "Jane", "age": 25}
然后,定义一个函数,该函数将json.loads应用于DataFrame的每一行:
def parse_json(row):
json_data = json.loads(row['json_data'])
return json_data
最后,使用apply函数和lambda表达式将parse_json函数应用于DataFrame的每一行:
df['parsed_json'] = df.apply(lambda row: parse_json(row), axis=1)
这将在DataFrame中创建一个新的列'parsed_json',其中包含每一行中解析后的JSON数据。
完整的代码如下:
import pandas as pd
import json
data = {'json_data': ['{"name": "John", "age": 30}', '{"name": "Jane", "age": 25}']}
df = pd.DataFrame(data)
def parse_json(row):
json_data = json.loads(row['json_data'])
return json_data
df['parsed_json'] = df.apply(lambda row: parse_json(row), axis=1)
这样,你就可以将json.loads应用于pandas df中的每一行了。
领取专属 10元无门槛券
手把手带您无忧上云