Questions tagged «pandas»

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

4
我何时应该在代码中使用pandas apply()?
我已经看到许多有关使用Pandas方法的堆栈溢出问题的答案apply。我还看到用户在他们的下面发表评论,说“ apply缓慢,应避免使用”。 我已经阅读了许多有关性能的文章,这些文章解释apply得很慢。我还在文档中看到了关于免除apply传递UDF的便捷功能的免责声明(现在似乎找不到)。因此,普遍的共识是,apply应尽可能避免。但是,这引起了以下问题: 如果apply太糟糕了,那为什么在API中呢? 我应该如何以及何时使代码apply免费? 在任何情况下apply都有良好的情况(比其他可能的解决方案更好)吗?

1
熊猫read_xml()方法测试策略
当前,pandas I / O工具没有维护read_xml()方法,而相应的工具to_xml()。但是,read_json证明可以为数据帧导入和read_html标记格式实现树状结构。 如果大熊猫团队会考虑这样一个read_xml为未来大熊猫版本的方法,他们会追求什么实现:使用内置的解析xml.etree.ElementTree其iterfind()或iterparse()功能或第三方模块,lxml其XPath 1.0和XSLT 1.0的方法呢? 以下是我在简单,扁平,以元素为中心的XML输入上针对四种方法类型的测试运行。所有这些都针对root的任何第二级子级进行了通用解析,并且每种方法都应产生完全相同的pandas数据帧。除最后一次调用外pd.Dataframe(),所有其他功能都在词典列表中。XSLT方法将XML转换为CSV,以便StringIO()在中进行转换pd.read_csv()。 问题 (多部分) 性能:您如何解释由于iterparse迭代解析文件而通常建议对较大文件使用的速度较慢的速度?部分原因是由于if逻辑检查吗? 内存:CPU内存是否与I / O调用中的时间相关?XSLT和XPath 1.0在较大的XML文档中往往无法很好地扩展,因为必须在内存中读取整个文件才能进行解析。 策略:词典列表是Dataframe()呼叫的最佳策略吗?请参阅以下有趣的答案:生成器版本和iterwalk用户定义版本。两个上载列表到数据帧。 输入数据(Stack Overflow当前的年度最大用户,其中包括我们的熊猫朋友) <?xml version="1.0" encoding="utf-8"?> <stackoverflow> <topusers> <user>Gordon Linoff</user> <link>http://www.stackoverflow.com//users/1144035/gordon-linoff</link> <location>New York, United States</location> <year_rep>5,985</year_rep> <total_rep>499,408</total_rep> <tag1>sql</tag1> <tag2>sql-server</tag2> <tag3>mysql</tag3> </topusers> <topusers> <user>Günter Zöchbauer</user> <link>http://www.stackoverflow.com//users/217408/g%c3%bcnter-z%c3%b6chbauer</link> <location>Linz, Austria</location> <year_rep>5,835</year_rep> <total_rep>154,439</total_rep> <tag1>angular2</tag1> <tag2>typescript</tag2> <tag3>javascript</tag3> </topusers> <topusers> <user>jezrael</user> …
109 python  xml  pandas  xslt  xpath 


5
Python Pandas仅合并某些列
是否可以仅合并一些列?我有一个带有x,y,z和df2列的DataFrame df1,其中x,a,b,c,d,e,f等列。 我想在x上合并两个DataFrame,但是我只想合并df2.a,df2.b列-而不是整个DataFrame。 结果将是具有x,y,z,a,b的DataFrame。 我可以合并然后删除不需要的列,但是似乎有更好的方法。
109 python  merge  pandas 

7
如何在熊猫中更改日期时间格式
我的数据框有一个DOB列(示例格式1/1/2016),默认情况下该列会转换为dtype'object'熊猫:DOB object 使用将日期转换为日期格式df['DOB'] = pd.to_datetime(df['DOB']),日期将转换为:2016-01-26,日期dtype为:DOB datetime64[ns]。 现在,我想将此日期格式转换为01/26/2016任何其他通用日期格式或。我该怎么做? 无论我尝试哪种方法,它始终以2016-01-26格式显示日期。

11
了解inplace = True
在pandas库中多次出现改变就地等物体的方式与下面的语句一个选项... df.dropna(axis='index', how='all', inplace=True) 我很好奇返回的内容以及inplace=True传递时与传递对象时如何处理该对象inplace=False。 所有操作self何时都在修改inplace=True?何时inplace=False立即创建一个新对象,例如new_df = self然后new_df返回?
109 python  pandas  in-place 

5
读取压缩文件作为Pandas DataFrame
我正在尝试解压缩csv文件并将其传递到熊猫中,以便我可以处理该文件。 到目前为止,我尝试过的代码是: import requests, zipfile, StringIO r = requests.get('http://data.octo.dc.gov/feeds/crime_incidents/archive/crime_incidents_2013_CSV.zip') z = zipfile.ZipFile(StringIO.StringIO(r.content)) crime2013 = pandas.read_csv(z.read('crime_incidents_2013_CSV.csv')) 在最后一行之后,尽管python能够获取文件,但在错误末尾出现“不存在”。 有人可以告诉我我做错了什么吗?
108 python  zip  pandas 

11
FutureWarning:逐元素比较失败;返回标量,但将来将执行元素比较
我0.19.1在Python 3上使用Pandas 。我在这些代码行上收到警告。我正在尝试获取一个包含所有Peter在column处存在string的行号的列表Unnamed: 5。 df = pd.read_excel(xls_path) myRows = df[df['Unnamed: 5'] == 'Peter'].index.tolist() 它产生一个警告: "\Python36\lib\site-packages\pandas\core\ops.py:792: FutureWarning: elementwise comparison failed; returning scalar, but in the future will perform elementwise comparison result = getattr(x, name)(y)" 这是什么FutureFarning,由于它似乎起作用,因此我应该忽略它。

5
SQLAlchemy ORM转换为Pandas DataFrame
这个话题已经有一段时间没有在这里或其他地方了。是否有将SQLAlchemy <Query object>转换为pandas DataFrame 的解决方案? Pandas具有使用能力,pandas.read_sql但这需要使用原始SQL。我有两个避免发生这种情况的原因:1)我已经使用ORM拥有了一切(本身就是一个很好的理由),并且2)我正在使用python列表作为查询的一部分(例如:模型类.db.session.query(Item).filter(Item.symbol.in_(add_symbols)在哪里Item)并且add_symbols是列表)。这等效于SQL SELECT ... from ... WHERE ... IN。 有什么可能吗?

11
熊猫的笛卡尔积
我有两个熊猫数据框: from pandas import DataFrame df1 = DataFrame({'col1':[1,2],'col2':[3,4]}) df2 = DataFrame({'col3':[5,6]}) 获得笛卡尔积的最佳实践是什么(当然不用像我这样明确地写它)? #df1, df2 cartesian product df_cartesian = DataFrame({'col1':[1,2,1,2],'col2':[3,4,3,4],'col3':[5,5,6,6]})
107 python  pandas 

5
获取总计熊猫列
目标 我有一个Pandas数据框,如下所示,具有多个列,并希望获取列的总数MyColumn。 数据框 -df: print df X MyColumn Y Z 0 A 84 13.0 69.0 1 B 76 77.0 127.0 2 C 28 69.0 16.0 3 D 28 28.0 31.0 4 E 19 20.0 85.0 5 F 84 193.0 70.0 我的尝试: 我试图使用groupby和获得列的总和.sum(): Total = df.groupby['MyColumn'].sum() print Total 这将导致以下错误: TypeError: 'instancemethod' …
107 python  pandas  dataframe  sum 


4
根据熊猫中的另一个值更改一个值
我试图将我的Stata代码重新编程为Python,以提高速度,而我的方向是PANDAS。但是,我很难集中精力处理数据。 假设我要遍历列标题“ ID”中的所有值。如果该ID与特定数字匹配,那么我想更改两个相应的值FirstName和LastName。 在Stata中,它看起来像这样: replace FirstName = "Matt" if ID==103 replace LastName = "Jones" if ID==103 因此,这将替换FirstName中与Matt的ID == 103值相对应的所有值。 在PANDAS中,我正在尝试类似的方法 df = read_csv("test.csv") for i in df['ID']: if i ==103: ... 不知道从这里去哪里。有任何想法吗?
107 python  pandas 

4
熊猫每隔n行
Dataframe.resample()仅适用于时间序列数据。我找不到从非时间序列数据中获取第n行的方法。最好的方法是什么?

5
如何为seaborn boxplot添加标题
似乎可以通过Google进行搜索,但无法在线找到有效的内容。 我已经尝试过sns.boxplot('Day', 'Count', data= gg).title('lalala')和sns.boxplot('Day', 'Count', data= gg).suptitle('lalala')。没有工作。我认为可能是因为我也在使用matplotlib。

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.