Questions tagged «pandas»

Pandas是用于数据处理和分析的Python库,例如,在统计,实验科学结果,计量经济学或金融学中常见的数据框,多维时间序列和横截面数据集。Pandas是Python中主要的数据科学库之一。


10
如何在不覆盖数据的情况下(使用熊猫)写入现有的excel文件?
我使用熊猫以以下方式写入excel文件: import pandas writer = pandas.ExcelWriter('Masterfile.xlsx') data_filtered.to_excel(writer, "Main", cols=['Diff1', 'Diff2']) writer.save() Masterfile.xlsx已经包含许多不同的选项卡。但是,它尚未包含“ Main”。 熊猫正确地写入了“主要”表,不幸的是,它也删除了所有其他标签。

3
如何在大熊猫中测试字符串是否包含列表中的子字符串之一?
有没有这将是一个组合的等同的任何功能df.isin()和df[col].str.contains()? 例如,假设我有系列 s = pd.Series(['cat','hat','dog','fog','pet']),并且我想找到s包含的任何一个的所有地方['og', 'at'],那么我想得到除“宠物”以外的所有东西。 我有一个解决方案,但这很不雅致: searchfor = ['og', 'at'] found = [s.str.contains(x) for x in searchfor] result = pd.DataFrame[found] result.any() 有一个更好的方法吗?

3
如何抑制熊猫未来警告?
当我运行程序时,Pandas每次都会发出如下“未来警告”。 D:\Python\lib\site-packages\pandas\core\frame.py:3581: FutureWarning: rename with inplace=True will return None from pandas 0.11 onward " from pandas 0.11 onward", FutureWarning) 我得到了消息,但我只是想一次又一次地停止Pandas显示这样的消息,是否可以设置任何buildin参数,以使Pandas不会弹出“未来警告”?

1
熊猫使用什么规则生成视图与副本?
我对Pandas决定从数据框中进行选择是原始数据框的副本或原始数据视图时使用的规则感到困惑。 例如,如果我有 df = pd.DataFrame(np.random.randn(8,8), columns=list('ABCDEFGH'), index=range(1,9)) 我了解a会query传回副本,因此类似 foo = df.query('2 < index <= 5') foo.loc[:,'E'] = 40 将对原始数据帧无效df。我也了解标量或命名切片返回一个视图,因此对它们的赋值(例如 df.iloc[3] = 70 要么 df.ix[1,'B':'E'] = 222 会改变df。但是当涉及到更复杂的案件时,我迷失了。例如, df[df.C <= df.B] = 7654321 变化df,但是 df[df.C <= df.B].ix[:,'B':'E'] 才不是。 是否有一个熊猫正在使用的简单规则,我只是想念它?在这些特定情况下发生了什么;尤其是,如何更改满足特定查询的数据框中的所有值(或值的子集)(就像我在上面的最后一个示例中尝试的那样)? 注意:这和这个问题不一样;并且我已经阅读了文档,但并未对此有所启发。我还阅读了有关此主题的“相关”问题,但我仍然缺少Pandas使用的简单规则,以及如何将其应用于(例如)修改值(或值的子集)在满足特定查询的数据框中。

5
使用熊猫将字符串前缀添加到字符串列中的每个值
我想在熊猫数据帧的所述列中的每个值的开头附加一个字符串(优雅)。我已经弄清楚该如何做,目前正在使用: df.ix[(df['col'] != False), 'col'] = 'str'+df[(df['col'] != False), 'col'] 这似乎是一件微不足道的事情-您是否知道其他任何方式(可能还会将该字符添加到该列为0或NaN的行中)? 如果还不清楚,我想转一下: col 1 a 2 0 变成: col 1 stra 2 str0

5
忽略带有str.contains的NaN
我想查找包含字符串的行,如下所示: DF[DF.col.str.contains("foo")] 但是,这失败了,因为某些元素是NaN: ValueError:无法使用包含NA / NaN值的向量建立索引 所以我诉诸于混乱 DF[DF.col.notnull()][DF.col.dropna().str.contains("foo")] 有没有更好的办法?
117 python  pandas 

8
当期望一维数组时,传递了列向量y
我需要适应RandomForestRegressor的sklearn.ensemble。 forest = ensemble.RandomForestRegressor(**RF_tuned_parameters) model = forest.fit(train_fold, train_y) yhat = model.predict(test_fold) 该代码始终有效,直到我对数据进行了一些预处理(train_y)。错误消息显示: DataConversionWarning:当期望1d数组时,传递了列向量y。请将y的形状更改为(n_samples,),例如使用ravel()。 模型= forest.fit(train_fold,train_y) 以前train_y是一个Series,现在是numpy数组(它是列向量)。如果我应用train_y.ravel(),则它成为行向量,并且没有错误消息出现,通过预测步骤需要很长时间(实际上,它永远不会完成...)。 在RandomForestRegressor我发现的文档中,train_y应将其定义为“ y : array-like, shape = [n_samples] or [n_samples, n_outputs] 如何解决此问题的想法?”。

4
正确的方法来反转pandas.DataFrame?
这是我的代码: import pandas as pd data = pd.DataFrame({'Odd':[1,3,5,6,7,9], 'Even':[0,2,4,6,8,10]}) for i in reversed(data): print(data['Odd'], data['Even']) 当我运行此代码时,出现以下错误: Traceback (most recent call last): File "C:\Python33\lib\site-packages\pandas\core\generic.py", line 665, in _get_item_cache return cache[item] KeyError: 5 During handling of the above exception, another exception occurred: Traceback (most recent call last): File "C:\Users\*****\Documents\******\********\****.py", line 5, in …
117 python  pandas  reverse 


17
如何将SQL查询结果转换为PANDAS数据结构?
在这个问题上的任何帮助将不胜感激。 因此,基本上我想对我的SQL数据库运行查询并将返回的数据存储为Pandas数据结构。 我已附上查询代码。 我正在阅读有关Pandas的文档,但是在识别查询的返回类型时遇到了问题。 我试图打印查询结果,但没有提供任何有用的信息。 谢谢!!!! from sqlalchemy import create_engine engine2 = create_engine('mysql://THE DATABASE I AM ACCESSING') connection2 = engine2.connect() dataid = 1022 resoverall = connection2.execute(" SELECT sum(BLABLA) AS BLA, sum(BLABLABLA2) AS BLABLABLA2, sum(SOME_INT) AS SOME_INT, sum(SOME_INT2) AS SOME_INT2, 100*sum(SOME_INT2)/sum(SOME_INT) AS ctr, sum(SOME_INT2)/sum(SOME_INT) AS cpc FROM daily_report_cooked WHERE campaign_id = …

9
在pandas数据框中完全打印很长的字符串
我正在努力看似非常简单的事情。我有一个包含非常长字符串的pandas数据框。 df = pd.DataFrame({'one' : ['one', 'two', 'This is very long string very long string very long string veryvery long string']}) 现在,当我尝试打印相同的字符串时,我看不到完整的字符串,而只看到了字符串的一部分。 我尝试了以下选项 使用 print(df.iloc[2]) 使用 to_html 使用 to_string 其中一个stackoverflow答案建议通过使用pandas display选项来增加列宽,但该方法也不起作用。 我也没有得到如何set_printoptions帮助我。 任何想法表示赞赏。看起来很简单,但无法获得!
116 python  string  pandas  options 

14
如何取消嵌套(爆炸)pandas DataFrame中的列?
我有以下DataFrame,其中列之一是对象(列表类型单元格): df=pd.DataFrame({'A':[1,2],'B':[[1,2],[1,2]]}) df Out[458]: A B 0 1 [1, 2] 1 2 [1, 2] 我的预期输出是: A B 0 1 1 1 1 2 3 2 1 4 2 2 我应该怎么做才能做到这一点? 相关问题 熊猫:当单元格内容为列表时,为列表中的每个元素创建一行 好问题和答案,但只与列表处理一列(在我的答案自DEF功能将多个列的工作,也是公认的答案是使用最耗时的apply,不推荐,检查的详细信息我应该什么时候曾经想在我的代码中使用pandas apply()吗?)
116 python  pandas  dataframe 

8
Pandas DataFrame到列表列表
将列表列表转换为pandas数据框很容易: import pandas as pd df = pd.DataFrame([[1,2,3],[3,4,5]]) 但是,如何将df重新变成列表列表? lol = df.what_to_do_now? print lol # [[1,2,3],[3,4,5]]
115 python  pandas 

4
熊猫将某些列转换为行
因此我的数据集具有n个日期的位置信息。问题在于每个日期实际上是一个不同的列标题。例如,CSV看起来像 location name Jan-2010 Feb-2010 March-2010 A "test" 12 20 30 B "foo" 18 20 25 我想要的是它看起来像 location name Date Value A "test" Jan-2010 12 A "test" Feb-2010 20 A "test" March-2010 30 B "foo" Jan-2010 18 B "foo" Feb-2010 20 B "foo" March-2010 25 问题是我不知道列中有多少个日期(尽管我知道它们总是以名字开头)
115 python  pandas 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.