python - 将包含 16k 字典的字典更改为 Pandas Dataframe

标签 python pandas dataframe survival-analysis patsy

我正在为我的硕士论文研究数据挖掘问题。我正在使用 Python 进行数据分析,但我没有使用 Pandas 的经验,而 Pandas 是将我的数据转换为 Dataframe 所必需的。为了使用名为 Lifelines 的 Python 包进行生存回归,我需要从实验数据字典中创建一个协变量矩阵,其中包含超过 16k 的字典以及有关 Kickstarter 项目的 Twitter 数据(请参阅下面的示例字典)。

16041: {'goal': 1200, 'launch': 1353544772, 'days-before-deadline': 3, 'followers': 149, 'date-funded': 1355887690.9189188, 'id': 52687, 'tweet_ids': [280965208409796608, ... n], 'state': 1, 'deadline': 1356136772, 'retweets': 0, 'favorites': 0, 'duration': 31, 'timestamps': [1355876412.0], 'favourites': 0, 'runtime': 27, 'friends': 127, 'pledges': [0.0, 0.0625, 0.0625, ... n], 'statuses': 7460}

如果我从这个字典创建一个 Pandas Dataframe,我将能够使用 Patsy 创建一个协变量矩阵,例如如下所示:

X = patsy.dmatrix('friends + followers + retweets, favorites -1', data, return_type='dataframe') 

现在我的问题是如何从experiment_data dicts创建Pandas Dataframe?内部字典的键(目标、启动、关注者等)应该是每个 Kickstarter 项目的列(即索引号:0 到 16041)。

任何帮助将不胜感激。提前致谢!

附注如果您有使用 Python 和 Lifelines 进行生存回归的经验,请告诉我!

最佳答案

我想你想要from_dict使用参数orient='index':

In [31]:
d={16041: {'goal': 1200, 'launch': 1353544772, 'days-before-deadline': 3, 'followers': 149, 'date-funded': 1355887690.9189188, 'id': 52687, 'tweet_ids': [280965208409796608], 'state': 1, 'deadline': 1356136772, 'retweets': 0, 'favorites': 0, 'duration': 31, 'timestamps': [1355876412.0], 'favourites': 0, 'runtime': 27, 'friends': 127, 'pledges': [0.0, 0.0625, 0.0625], 'statuses': 7460}}
pd.DataFrame.from_dict(d, orient='index')    

Out[31]:
          id  followers  days-before-deadline  statuses  duration  state  \
16041  52687        149                     3      7460        31      1   

       goal             tweet_ids                pledges  favourites  \
16041  1200  [280965208409796608]  [0.0, 0.0625, 0.0625]           0   

         deadline  favorites  retweets  runtime  friends      launch  \
16041  1356136772          0         0       27      127  1353544772   

           timestamps   date-funded  
16041  [1355876412.0]  1.355888e+09 

关于python - 将包含 16k 字典的字典更改为 Pandas Dataframe,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31562706/

相关文章:

python - 中位数的中位数选择python

python - 如何在同一个 docker-compose 中连接到远程 Selenium 驱动程序?

python - 将 Pandas 数据框列转换为 np.datetime64

python - 使用子图和循环按组绘制 Pandas

python - Pandas 数据框唯一值

python - 在组中创建带有条件的 random.randint?

python - 创建一个孤立分支而不使用孤立标志

python - Pandas 根据其他列中的子字符串更改列值

python - 根据列中的整数展开行并拆分为日期之间的月数

python - pandas - 通过另一个数据帧索引数据帧