这是我的一个朋友的旧帖子之一的更新(由于我的问题得到了部分解决方案,该帖子停止收到回复),我正在修改该问题陈述。链接到该帖子:编码问题 - 从列中提取值并形成新数据框[编辑]
从“每小时”列条目中提取天气参数时,它仅提取特定天气参数的第一个值。“每小时”列中的每个条目都是天气参数列表。每个参数有 24 个不同的值,表示一天中 24 小时的天气参数值。因此,我使用的代码在新数据框中为我提供了 31 个不同的条目,而 1 月份应该是 31*24 个条目。你们能帮帮我吗?
此处提供了笔记本链接(已编辑)。
此处提供数据集链接。
[代码]
import json
from pprint import pprint
import pandas as pd
with open(r'C:\Users\Murali\Desktop\Downloads\2016-1.json') as f:
s = f.read()
jansixteen = json.loads(s)
#print(jansixteen)
a =jansixteen['data']['weather']
b = ((pd.DataFrame(a)))
b.head()
def extract_col_as_df(df, column_name):
data = [datum[0] for datum in df[column_name]]
df = pd.DataFrame(data = data)
return df
df_hourly = extract_col_as_df(b, 'hourly')
print(df_hourly)
df_hourly.drop(['FeelsLikeF', 'HeatIndexF','HeatIndexC','weatherIconUrl','WindGustMiles','weatherDesc','weatherCode'], axis=1)