小编cpe*_*505的帖子

将函数应用于多个数据帧,返回多个 DF 作为输出

我对 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)

python function dataframe pandas

2
推荐指数
1
解决办法
2957
查看次数

标签 统计

dataframe ×1

function ×1

pandas ×1

python ×1