python-2.7 – Superhuman Level – 由于重复,Pandas DataFrame重塑

python-2.7 – Superhuman Level – 由于重复,Pandas DataFrame重塑,第1张

概述你喜欢只有超人可以解决的谜题吗?这是证明这种能力的最终测试. 一家公司可能会在不同时间从多家银行获得不同级别的资金(种子,a). 让我们看看数据然后是故事,以获得更好的画面. import pandas as pddata = {'id':[1,2,2,3,4],'company':['alpha','beta','beta','alpha','alpha'],'bank':['z', 'x', 你喜欢只有超人可以解决的谜题吗?这是证明这种能力的最终测试.

一家公司可能会在不同时间从多家银行获得不同级别的资金(种子,a).

让我们看看数据然后是故事,以获得更好的画面.

import pandas as pddata = {'ID':[1,2,3,4],'company':['Alpha','beta','Alpha','Alpha'],'bank':['z','x','y','z','j'],'rd': ['seed','seed','a','a'],'funding': [100,200,300,50],'date': ['2006-12-01','2004-09-01','2007-05-01','2007-09-01']}df = pd.DataFrame(data,columns = ['ID','company','round','bank','funding','date'])df

产量:

ID  company        rd   bank    funding        date0   1    Alpha      seed      z        100  2006-12-011   2     beta      seed      x        200  2004-09-012   2     beta      seed      y        200  2004-09-013   3    Alpha         a      z        300  2007-05-014   4    Alpha         a      j         50  2007-09-01

期望的输出:

company     bank_seed   funding_seed      date_seed    bank_a  funding_a      date_a 0    Alpha             z            100     2006-12-01     [z,j]        350  2007-09-011     beta         [x,y]            200     2004-09-01      None       None        None

正如你所看到的,我不是一个超人,而是试图解释我的思维过程.

我们来看看公司的Alpha

公司阿尔法在2006年底首次从银行z获得100美元的种子资金.几个月后,他们的投资者对他们的进展感到非常满意,因此银行给了他们钱(300多美元!).然而,公司阿尔法需要更多的现金,但不得不去一些随机的瑞士银行j来保持活力.银行j不情愿地再给了50美元.好极了!他们现在从2007年9月结束的更新’a’回合中得到350美元.

公司测试版非常新.他们从两家不同的银行获得了总计200美元的资金.但是等等……这里没有什么关于他们的回合’a’.那没关系,我们现在就把None放进去,稍后再回来查看.

问题是公司的阿尔法很糟糕并从瑞士获得了资金……
这是我的非工作代码,它处理了我的数据子集 – 它在这里不起作用.

import itertoolsunique_company = df.company.unique()df_indexed = df.set_index(['company','rd'])index = pd.MultiIndex.from_tuples(List(itertools.product(unique_company,List(df.rd.unique()))))reindexed = df_indexed.reindex(index,fill_value=0)reindexed = reindexed.unstack().applymap(lambda cell: 0 if '1970-01-01' in str(cell) else cell)working_df = pd.DataFrame(reindexed.iloc[:,reindexed.columns.get_level_values(0).isin(['company','funding'])].to_records())

如果您知道如何解决部分问题,请继续将其放在下面.提前谢谢你花时间看看这个! 总结

以上是内存溢出为你收集整理的python-2.7 – Superhuman Level – 由于重复,Pandas DataFrame重塑全部内容,希望文章能够帮你解决python-2.7 – Superhuman Level – 由于重复,Pandas DataFrame重塑所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1193932.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存