Questions tagged «pandas»

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



7
在熊猫中加入和合并有什么区别?
假设我有两个像这样的DataFrame: left = pd.DataFrame({'key1': ['foo', 'bar'], 'lval': [1, 2]}) right = pd.DataFrame({'key2': ['foo', 'bar'], 'rval': [4, 5]}) 我想合并它们,所以我尝试这样的事情: pd.merge(left, right, left_on='key1', right_on='key2') 我很开心 key1 lval key2 rval 0 foo 1 foo 4 1 bar 2 bar 5 但是我正在尝试使用join方法,我被认为这是非常相似的。 left.join(right, on=['key1', 'key2']) 我得到这个: //anaconda/lib/python2.7/site-packages/pandas/tools/merge.pyc in _validate_specification(self) 406 if self.right_index: 407 if …
208 python  pandas  dataframe  join 

7
熊猫分组和
我正在使用此数据框: Fruit Date Name Number Apples 10/6/2016 Bob 7 Apples 10/6/2016 Bob 8 Apples 10/6/2016 Mike 9 Apples 10/7/2016 Steve 10 Apples 10/7/2016 Bob 1 Oranges 10/7/2016 Bob 2 Oranges 10/6/2016 Tom 15 Oranges 10/6/2016 Mike 57 Oranges 10/6/2016 Bob 65 Oranges 10/7/2016 Tony 1 Grapes 10/7/2016 Bob 1 Grapes …

9
使用pandas.to_datetime时仅保留日期部分
我pandas.to_datetime用来解析数据中的日期。默认情况下,熊猫代表日期,datetime64[ns]即使所有日期都是每天也是如此。我想知道是否存在一种优雅/巧妙的方法来将日期转换为datetime.date或,datetime64[D]以便当我将数据写入CSV时,日期不附加00:00:00。我知道我可以手动逐个元素地转换类型: [dt.to_datetime().date() for dt in df.dates] 但这确实很慢,因为我有很多行,这有点违反了使用目的pandas.to_datetime。有没有一种方法可以一次转换dtype整个列?或者,是否pandas.to_datetime支持精度规范,以便在处理日常数据时可以省去时间部分?
201 python  pandas  csv  datetime  series 

20
将熊猫数据框字符串条目拆分(分解)为单独的行
我有一个pandas dataframe文本字符串的一列包含逗号分隔的值。我想拆分每个CSV字段,并为每个条目创建一个新行(假设CSV干净并且只需要在','上拆分)。例如,a应变为b: In [7]: a Out[7]: var1 var2 0 a,b,c 1 1 d,e,f 2 In [8]: b Out[8]: var1 var2 0 a 1 1 b 1 2 c 1 3 d 2 4 e 2 5 f 2 到目前为止,我已经尝试了各种简单的函数,但是该.apply方法似乎只在轴上使用一行作为返回值,而我无法开始.transform工作。我们欢迎所有的建议! 示例数据: from pandas import DataFrame import numpy as np a = …

11
如何将一列分为两列?
我有一个带有一列的数据框,我想将其分为两列,其中一列标题为' fips',另一列为'row' 我的数据框df如下所示: row 0 00000 UNITED STATES 1 01000 ALABAMA 2 01001 Autauga County, AL 3 01003 Baldwin County, AL 4 01005 Barbour County, AL 我不知道如何使用df.row.str[:]以达到分割行单元的目的。我可以df['fips'] = hello用来添加一个新列,并用填充它hello。有任何想法吗? fips row 0 00000 UNITED STATES 1 01000 ALABAMA 2 01001 Autauga County, AL 3 01003 Baldwin County, AL 4 01005 …
196 python  dataframe  pandas 

17
检测并排除熊猫数据框中的异常值
我有一个只有几列的熊猫数据框。 现在我知道某些行是基于某个列值的离群值。 例如 “ Vol”列的所有值都在周围,12xx而一个值是4000(离群值)。 现在,我想排除具有Vol此类列的行。 因此,从本质上讲,我需要在数据帧上放置一个过滤器,以便我们选择某一列的值在均值例如3个标准差以内的所有行。 有什么优雅的方法可以做到这一点?

9
在pandas DataFrame中更改特定的列名称
我一直在寻找一种优雅的方法来更改中的指定列名称DataFrame。 播放数据... import pandas as pd d = { 'one': [1, 2, 3, 4, 5], 'two': [9, 8, 7, 6, 5], 'three': ['a', 'b', 'c', 'd', 'e'] } df = pd.DataFrame(d) 到目前为止,我发现的最优雅的解决方案... names = df.columns.tolist() names[names.index('two')] = 'new_name' df.columns = names 我希望有一个简单的单线...此尝试失败了... df.columns[df.columns.tolist().index('one')] = 'another_name' 非常感谢收到的任何提示。
195 python  pandas 


8
选择两个日期之间的DataFrame行
我正在从csv创建DataFrame,如下所示: stock = pd.read_csv('data_in/' + filename + '.csv', skipinitialspace=True) DataFrame有一个日期列。有没有一种方法来创建一个新的DataFrame(或仅覆盖现有的DataFrame),该DataFrame仅包含日期值在指定日期范围内或两个指定日期值之间的行?
195 python  pandas 

7
将x和y标签添加到熊猫图
假设我有以下代码使用pandas绘制了一些非常简单的图形: import pandas as pd values = [[1, 2], [2, 5]] df2 = pd.DataFrame(values, columns=['Type A', 'Type B'], index=['Index 1', 'Index 2']) df2.plot(lw=2, colormap='jet', marker='.', markersize=10, title='Video streaming dropout by category') 如何在保留我使用特定颜色图的能力的同时轻松设置x和y标签?我注意到,plot()pandas DataFrames 的包装没有采用任何特定于此的参数。

15
如何使用pandas读取较大的csv文件?
我试图在熊猫中读取较大的csv文件(大约6 GB),但出现内存错误: MemoryError Traceback (most recent call last) <ipython-input-58-67a72687871b> in <module>() ----> 1 data=pd.read_csv('aphro.csv',sep=';') ... MemoryError: 有什么帮助吗?
194 python  pandas  csv  memory  chunks 

10
熊猫三向联接列上的多个数据框
我有3个CSV文件。每个列都有第一列作为人员的(字符串)名称,而每个数据框中的所有其他列都是该人员的属性。 如何将所有三个CSV文档“连接”在一起以创建一个CSV,而每一行都具有该人的字符串名称的每个唯一值的所有属性? join()pandas中的函数指定我需要一个多索引,但是我对层次化索引方案与基于单个索引进行联接有何关系感到困惑。
191 python  pandas  join  merge 

4
Python Pandas从一列字符串的数据选择中过滤掉Nan
如果不使用groupby,我将如何过滤掉没有的数据NaN? 假设我有一个矩阵,客户可以在其中填写“ N / A”,“ n / a”或其任何变体,而其他人则将其留空: import pandas as pd import numpy as np df = pd.DataFrame({'movie': ['thg', 'thg', 'mol', 'mol', 'lob', 'lob'], 'rating': [3., 4., 5., np.nan, np.nan, np.nan], 'name': ['John', np.nan, 'N/A', 'Graham', np.nan, np.nan]}) nbs = df['name'].str.extract('^(N/A|NA|na|n/a)') nms=df[(df['name'] != nbs) ] 输出: >>> nms movie …
190 python  pandas  dataframe 

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.