我有一个这样的excel文件 cluster load_date budget actual fixed_price A 1/1/2014 1000 4000 Y A 2/1/2014 12000 10000 Y A 3/1/2014 36000 2000 Y B 4/1/2014 15000 10000 N B 4/1/2014 12000 11500 N B 4/1/2014 90000 11000 N C 7/1/2014 22000 18000 N C 8/1/2014 30000 28960 N C 9/1/2014 53000 51200 N 我想能够返回列1的内容 – 集群作为列表,所以我可以运行for循环,并为每个集群创build一个Excel工作表。 是否也可以将整行的内容返回给列表? […]
我有一个约300K行〜40列的数据框。 我想知道是否有行包含空值 – 并将这些“空”行放入一个单独的数据框中,以便我可以轻松地探索它们。 我可以明确地创build一个面具: mask=False for col in df.columns: mask = mask | df[col].isnull() dfnulls = df[mask] 或者我可以做一些事情: df.ix[df.index[(df.T == np.nan).sum() > 1]] 有没有一个更优雅的方式来做到这一点(find空行中的行)?
我有一个由列表列表组成的Numpy数组,表示一个具有行标签和列名称的二维数组,如下所示: data = array([['','Col1','Col2'],['Row1',1,2],['Row2',3,4]]) 我希望得到的DataFrame有Row1和Row2作为索引值,Col1,Col2作为标题值 我可以指定如下索引: df = pd.DataFrame(data,index=data[:,0]), 但是我不确定如何最好地分配列标题。
假设我有一个数据框与列ab&c,我想sortingdataframe列b按升序和列c降序,我该怎么做?
这可能是一个简单的问题,但我不知道如何做到这一点。 可以说,我有两个variables如下。 a = 2 b = 3 我想从这个构造一个DataFrame: df2 = pd.DataFrame({'A':a,'B':b}) 这会产生一个错误: ValueError:如果使用所有标量值,则必须传递一个索引 我也试过这个: df2 = (pd.DataFrame({'a':a,'b':b})).reset_index() 这给出了相同的错误信息。
给定一个带有“BoolCol”列的DataFrame,我们希望findDataFrame的索引,其中“BoolCol”== True 我目前有迭代的方式来做到这一点,这是完美的: for i in range(100,3000): if df.iloc[i]['BoolCol']== True: print i,df.iloc[i]['BoolCol'] 但这不是正确的pandas做的方式。 经过一番研究,我目前正在使用这个代码: df[df['BoolCol'] == True].index.tolist() 这个给了我一个索引列表,但他们不匹配,当我检查他们做: df.iloc[i]['BoolCol'] 其结果实际上是假的! 这将是正确的pandas方式做到这一点?
我试图使用scikit学习的LabelEncoder来编码一个pandasDataFrame的string标签。 由于数据框有许多(50+)列,我想避免为每列创build一个LabelEncoder对象; 我宁愿只有一个大的LabelEncoder对象,可以在我所有的数据列中工作。 将整个DataFrame扔到LabelEncoder会产生下面的错误。 请记住,我在这里使用虚拟数据; 实际上我正在处理约50列string标签的数据,所以需要一个解决scheme,不要按名称引用任何列。 import pandas from sklearn import preprocessing df = pandas.DataFrame({'pets':['cat', 'dog', 'cat', 'monkey', 'dog', 'dog'], 'owner':['Champ', 'Ron', 'Brick', 'Champ', 'Veronica', 'Ron'], 'location':['San_Diego', 'New_York', 'New_York', 'San_Diego', 'San_Diego', 'New_York']}) le = preprocessing.LabelEncoder() le.fit(df) Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/Users/bbalin/anaconda/lib/python2.7/site-packages/sklearn/preprocessing/label.py", line 103, in fit y = […]
有没有办法来检查一个列中是否存在一个Pandas DataFrame? 假设我有以下的DataFrame: >>> import pandas as pd >>> from random import randint >>> df = pd.DataFrame({'A': [randint(1, 9) for x in xrange(10)], 'B': [randint(1, 9)*10 for x in xrange(10)], 'C': [randint(1, 9)*100 for x in xrange(10)]}) >>> df ABC 0 3 40 100 1 6 30 200 2 7 70 800 3 3 50 […]
如何通过密钥访问groupby对象中相应的groupby数据框? 有以下几组: rand = np.random.RandomState(1) df = pd.DataFrame({'A': ['foo', 'bar'] * 3, 'B': rand.randn(6), 'C': rand.randint(0, 20, 6)}) gb = df.groupby(['A']) 我可以遍历它来获取密钥和组: In [11]: for k, gp in gb: print 'key=' + str(k) print gp key=bar ABC 1 bar -0.611756 18 3 bar -1.072969 10 5 bar -2.301539 18 key=foo ABC 0 foo 1.624345 5 […]
我有一个数据框称为data 。 我将如何重命名唯一的一个列标题? 例如gdp log(gdp) ? data = y gdp cap 0 1 2 5 1 2 3 9 2 8 7 2 3 3 4 7 4 6 7 7 5 4 8 3 6 8 2 8 7 9 9 10 8 6 6 4 9 10 10 7