我有以下的DataFrame: import pandas as pd df = pd.DataFrame({'a': [1,2,3], 'b': [2,3,4], 'c':['dd','ee','ff'], 'd':[5,9,1]}) 我想添加一列“e”,它是列“a”,“b”和“d”的总和。 通过论坛,我认为这样的事情会工作: df['e'] = df[['a','b','d']].map(sum) 但不是! 我想实现具有列['a','b','d']和df作为input的操作。
假设我有一个结构为嵌套的字典“user_dict”: 级别1: UserId(长整型) 级别2:类别(string) 等级3:分类的属性(浮点数,整数等) 例如,这个字典的input是: user_dict[12] = { "Category 1": {"att_1": 1, "att_2": "whatever"}, "Category 2": {"att_1": 23, "att_2": "another"}} “user_dict”中的每个项目具有相同的结构,并且“user_dict”包含大量我想要馈送给pandas DataFrame的项目,从属性构build系列。 在这种情况下,分层索引对于这个目的是有用的。 具体来说,我的问题是,是否存在一种方法来帮助DataFrame构造函数理解该系列应该从字典中的“级别3”的值构build? 如果我尝试像这样: df = pandas.DataFrame(users_summary) “级别1”(用户ID)的项目被视为列,这是我想要达到的目标(有用户ID作为索引)的相反。 我知道我可以在迭代字典条目之后构build系列,但是如果有更直接的方法,这将非常有用。 类似的问题是询问是否可以从文件中列出的json对象构造一个pandas DataFrame。
我注意到pandas现在支持稀疏matrix和数组 。 目前,我创buildDataFrame()如下所示: return DataFrame(matrix.toarray(), columns=features, index=observations) 有没有办法用scipy.sparse.csc_matrix()或csr_matrix()创build一个csr_matrix() ? 转换为密集格式严重杀死RAM。 谢谢!
我有一个超过200列的dataframe (不要问为什么)。 问题是因为他们生成的顺序是 ['Q1.3','Q6.1','Q1.2','Q1.1',……] 我需要重新排列列如下: ['Q1.1','Q1.2','Q1.3',…..'Q6.1',……] 有没有办法让我在Python中做到这一点?
我想用print()和IPython display()来显示给定格式的pandas数据框。 例如: df = pd.DataFrame([123.4567, 234.5678, 345.6789, 456.7890], index=['foo','bar','baz','quux'], columns=['cost']) print df cost foo 123.4567 bar 234.5678 baz 345.6789 quux 456.7890 我想以某种方式强制打印 cost foo $123.46 bar $234.57 baz $345.68 quux $456.79 而无需修改数据本身或创build副本,只需更改显示方式即可。 我该怎么做?
pandas如何做到这一点: 我有一个函数extract_text_features单个文本列,返回多个输出列。 具体来说,该函数返回6个值。 该函数工作,但是似乎没有任何正确的返回types(pandas DataFrame / numpy数组/ Python列表),以便输出可以正确分配df.ix[: ,10:16] = df.textcol.map(extract_text_features) 所以我想我需要退回到与df.iterrows()迭代,按照这个 ? 更新:迭代与df.iterrows()是至less20倍慢,所以我投降,并将function拆分成六个不同的.map(lambda …)调用。
我有以下pandas数据框架: import pandas as pd import numpy as np df = pd.DataFrame({ 'fc': [100,100,112,1.3,14,125], 'sample_id': ['S1','S1','S1','S2','S2','S2'], 'gene_symbol': ['a', 'b', 'c', 'a', 'b', 'c'], }) df = df[['gene_symbol', 'sample_id', 'fc']] df 这产生这个: Out[11]: gene_symbol sample_id fc 0 a S1 100.0 1 b S1 100.0 2 c S1 112.0 3 a S2 1.3 4 b S2 14.0 […]
我知道要find两个纬度,经度点之间的距离,我需要使用haversine函数: def haversine(lon1, lat1, lon2, lat2): lon1, lat1, lon2, lat2 = map(radians, [lon1, lat1, lon2, lat2]) dlon = lon2 – lon1 dlat = lat2 – lat1 a = sin(dlat/2)**2 + cos(lat1) * cos(lat2) * sin(dlon/2)**2 c = 2 * asin(sqrt(a)) km = 6367 * c return km 我有一个DataFrame其中一列是纬度和另一列是经度。 我想找出这些点离设定点有多远,-56.7213600,37.2175900。 如何从DataFrame中取值并将其放入函数中? 示例DataFrame: SEAZ LAT LON 1 […]
我正在寻找将每个包含一个列表的pandas细胞变成行。 所以,拿这个: 如果我想在“nearest_neighbors”列中解压和堆叠值,以使每个值都成为每个“对手”索引中的一行,那么我最好怎么去做呢?是否有pandas的方法,这个我只是不知道 在此先感谢,伙计们。
我被卡住了,觉得应该比较容易。 我下面的代码是基于我正在开发的一个更大的项目的示例。 我没有理由发布所有的细节,所以请接受我带来的数据结构。 基本上,我正在创build一个条形图,我可以弄清楚如何在酒吧(在酒吧的中心,或正上方)添加价值标签。 一直在网上看样品,但没有成功实现我自己的代码。 我相信解决办法是用'文本'或'注释',但我:a)不知道使用哪一个(一般来说,还没有弄清楚何时使用哪一个)。 b)看不到要么显示价值标签。 将感谢您的帮助,我的代码如下。 提前致谢! import numpy as np import pandas as pd import matplotlib.pyplot as plt pd.set_option('display.mpl_style', 'default') %matplotlib inline frequencies = [6, 16, 75, 160, 244, 260, 145, 73, 16, 4, 1] # bring some raw data freq_series = pd.Series.from_array(frequencies) # in my original code I create a series […]