Pandas 基于列对数据进行分类,然后为每个数据帧找到相关性
Pandas bin data based on a column then find correlations for each dataframe
我有以下数据框,
id sqft years_left date price
0 1400 65 01-01-2021 xxx
1 1200 49 01-01-1950 xxx
..
950,000 1600 10 09-05-1990 xx
我想 运行 years_left 和价格之间的相关性。
但我想将 year_left 列的数据分成 100 个 bin,介于 1 到 999 年之间,所以像
df = df[df[years_left] > 0 && df[years_left] < 10]
df2 = df[df[years_left] > 11 && df[years_left] < 20]
....
我必须手动创建每个数据框。或者使用 for 循环在列表中创建数据框。
有没有捷径可以做我想做的事?要将数据分到我想要的多少个分箱中,然后在每个分箱中找到相关性?
您可以像这样创建数据框字典:
df_dict = {f'df{index}': k for index, (_, k) in enumerate(
df.groupby(pd.cut(df.years_left, bins=range(0, 1000, 10))))}
然后你就可以访问df了:
df_dict['df1'] and so on ...
注意: 您也可以使用 list comprehension
.
而不是 dict comprehension
我有以下数据框,
id sqft years_left date price
0 1400 65 01-01-2021 xxx
1 1200 49 01-01-1950 xxx
..
950,000 1600 10 09-05-1990 xx
我想 运行 years_left 和价格之间的相关性。
但我想将 year_left 列的数据分成 100 个 bin,介于 1 到 999 年之间,所以像
df = df[df[years_left] > 0 && df[years_left] < 10]
df2 = df[df[years_left] > 11 && df[years_left] < 20]
....
我必须手动创建每个数据框。或者使用 for 循环在列表中创建数据框。
有没有捷径可以做我想做的事?要将数据分到我想要的多少个分箱中,然后在每个分箱中找到相关性?
您可以像这样创建数据框字典:
df_dict = {f'df{index}': k for index, (_, k) in enumerate(
df.groupby(pd.cut(df.years_left, bins=range(0, 1000, 10))))}
然后你就可以访问df了:
df_dict['df1'] and so on ...
注意: 您也可以使用 list comprehension
.
dict comprehension