我对 python 比较陌生,但一直在研究房地产市场的宠物项目。实际上,我已经读入了一系列文件并将其存储为原始格式的变量,如下所示:
**
cityrentalprice1BR.columns
Index([u'RegionName', u'State', u'Metro', u'CountyName', u'SizeRank',
u'2010-02', u'2010-03', u'2010-04', u'2010-05', u'2010-06',
...
u'2017-09', u'2017-10', u'2017-11', u'2017-12', u'2018-01', u'2018-02',
u'2018-03', u'2018-04', u'2018-05', u'2018-06'],
dtype='object', length=106)**
Run Code Online (Sandbox Code Playgroud)
“宽”格式对我的练习并不是特别有帮助,因此我使用了 Melt 函数来按城市获得更好的时间序列,并且在单个数据帧上的结果非常好:
cityrentalprice1BR_melt = pd.melt(cityrentalprice1BR, id_vars=['RegionName', 'State', 'Metro', 'CountyName', 'SizeRank'],
value_vars = dates,
value_name = 'Value',
var_name =['Date'])
cityrentalprice1BR_melt['Date'] = pd.to_datetime(cityrentalprice1BR_melt['Date'], format='%Y-%m')
Run Code Online (Sandbox Code Playgroud)
我的问题在于,我有多个文件需要以相同的格式导入,并且我不希望手动熔化每个数据帧。一个重要的警告是我更愿意将结果推送到新的唯一数据帧中(即上面的示例中 cityrentalprice1BR > cityrentalprice1BR_melt)。
我已经为此工作了一段时间,并创建了一个数据帧列表,并且可以将熔化函数应用到整个列表,如下所示,但是它缺少保留单独数据帧(或如果合并,则每个数据帧的列集)的关键目标函数更合适):
Rental = [cityrentalprice1BR, cityrentalprice2BR, cityrentalprice3BR, cityrentalprice4BR, cityrentalprice5BR, cityrentalpriceCondo, cityrentalpriceDupTri]
for size in Rental:
transformrent = pd.melt(size, id_vars=['RegionName', 'State', 'Metro', 'CountyName', 'SizeRank'],
value_vars = dates, …Run Code Online (Sandbox Code Playgroud)