Questions tagged «pandas»

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

3
如何遍历分组的熊猫数据框?
数据框: c_os_family_ss c_os_major_is l_customer_id_i 0 Windows 7 90418 1 Windows 7 90418 2 Windows 7 90418 码: print df for name, group in df.groupby('l_customer_id_i').agg(lambda x: ','.join(x)): print name print group 我正在尝试仅遍历聚合数据,但出现错误: ValueError:太多值无法解包 @EdChum,这是预期的输出: c_os_family_ss \ l_customer_id_i 131572 Windows 7,Windows 7,Windows 7,Windows 7,Window... 135467 Windows 7,Windows 7,Windows 7,Windows 7,Window... c_os_major_is l_customer_id_i …
146 python  pandas 

10
将“熊猫”列中的字典/列表拆分为单独的列
我将数据保存在postgreSQL数据库中。我正在使用Python2.7查询此数据并将其转换为Pandas DataFrame。但是,此数据框的最后一列中包含值的字典(或列表?)。DataFrame看起来像这样: [1] df Station ID Pollutants 8809 {"a": "46", "b": "3", "c": "12"} 8810 {"a": "36", "b": "5", "c": "8"} 8811 {"b": "2", "c": "7"} 8812 {"c": "11"} 8813 {"a": "82", "c": "15"} 我需要将此列拆分为单独的列,以便DataFrame如下所示: [2] df2 Station ID a b c 8809 46 3 12 8810 36 5 8 …

5
如何将数据分为3组(训练,验证和测试)?
我有一个熊猫数据框,我希望将其分为3组。我知道使用train_test_split从sklearn.cross_validation,一个可以在两个集(训练集和测试)分割数据。但是,我找不到将数据分为三组的任何解决方案。最好是,我想拥有原始数据的索引。 我知道一种解决方法是使用train_test_split两次并以某种方式调整索引。但是,是否存在更标准/内置的方式将数据分为3组而不是2组?

2
在熊猫MultiIndex DataFrame中选择行
选择/过滤索引为MultiIndex的数据框的行的最常见的熊猫方法是什么? 根据单个值/标签切片 根据一个或多个级别的多个标签进行切片 过滤布尔条件和表达式 哪种方法在什么情况下适用 为简单起见的假设: 输入数据框没有重复的索引键 下面的输入数据框只有两个级别。(此处显示的大多数解决方案一般都适用于N级) 输入示例: mux = pd.MultiIndex.from_arrays([ list('aaaabbbbbccddddd'), list('tuvwtuvwtuvwtuvw') ], names=['one', 'two']) df = pd.DataFrame({'col': np.arange(len(mux))}, mux) col one two a t 0 u 1 v 2 w 3 b t 4 u 5 v 6 w 7 t 8 c u 9 v 10 …

7
使用Pandas在python中读取Excel文件
我正在尝试以这种方式读取Excel文件: newFile = pd.ExcelFile(PATH\FileName.xlsx) ParsedData = pd.io.parsers.ExcelFile.parse(newFile) 这引发了一个错误,该错误表示预期有两个参数,我不知道第二个参数是什么,而且我在这里想要实现的是将Excel文件转换为DataFrame,我这样做是否正确?或者还有其他方法可以使用熊猫吗?

7
熊猫数据框fillna()仅存在一些列
我试图只对某些列子集用0填充Pandas数据框中的任何值。 当我做: import pandas as pd df = pd.DataFrame(data={'a':[1,2,3,None],'b':[4,5,None,6],'c':[None,None,7,8]}) print df df.fillna(value=0, inplace=True) print df 输出: a b c 0 1.0 4.0 NaN 1 2.0 5.0 NaN 2 3.0 NaN 7.0 3 NaN 6.0 8.0 a b c 0 1.0 4.0 0.0 1 2.0 5.0 0.0 2 3.0 0.0 7.0 …
144 python  pandas  dataframe 


5
修改熊猫数据框中的行的子集
假设我有一个带有两列A和B的pandas DataFrame。我想修改此DataFrame(或创建一个副本),以便每当A为0时B始终为NaN。我将如何实现? 我尝试了以下 df['A'==0]['B'] = np.nan 和 df['A'==0]['B'].values.fill(np.nan) 没有成功。
143 python  pandas 

10
JSON转换为Pandas DataFrame
我想做的是沿着经纬度坐标指定的路径从Google Maps API中提取海拔数据,如下所示: from urllib2 import Request, urlopen import json path1 = '42.974049,-81.205203|42.974298,-81.195755' request=Request('http://maps.googleapis.com/maps/api/elevation/json?locations='+path1+'&sensor=false') response = urlopen(request) elevations = response.read() 这给了我一个看起来像这样的数据: elevations.splitlines() ['{', ' "results" : [', ' {', ' "elevation" : 243.3462677001953,', ' "location" : {', ' "lat" : 42.974049,', ' "lng" : -81.205203', ' },', ' "resolution" : …


8
重命名熊猫DataFrame索引
我有一个没有标头的csv文件,带有DateTime索引。我想重命名索引和列名,但是使用df.rename()仅重命名了列名。虫子?我正在使用0.12.0版本 In [2]: df = pd.read_csv(r'D:\Data\DataTimeSeries_csv//seriesSM.csv', header=None, parse_dates=[[0]], index_col=[0] ) In [3]: df.head() Out[3]: 1 0 2002-06-18 0.112000 2002-06-22 0.190333 2002-06-26 0.134000 2002-06-30 0.093000 2002-07-04 0.098667 In [4]: df.rename(index={0:'Date'}, columns={1:'SM'}, inplace=True) In [5]: df.head() Out[5]: SM 0 2002-06-18 0.112000 2002-06-22 0.190333 2002-06-26 0.134000 2002-06-30 0.093000 2002-07-04 0.098667
142 python  pandas  dataframe 

6
熊猫:在Excel文件中查找工作表列表
新版本的Pandas使用以下界面加载Excel文件: read_excel('path_to_file.xls', 'Sheet1', index_col=None, na_values=['NA']) 但是,如果我不知道可用的图纸怎么办? 例如,我正在使用以下工作表的excel文件 数据1,数据2 ...,数据N,foo,bar 但我不知道N先验。 有什么方法可以从Pandas的excel文档中获取工作表列表吗?
142 python  excel  pandas  openpyxl  xlrd 

6
在pandas中的DataFrame上搜索“不包含”
我已经进行了一些搜索,无法弄清楚如何通过过滤数据帧df["col"].str.contains(word),但是我想知道是否有一种方法可以反向执行:通过该集合的补充来过滤数据帧。例如:的效果!(df["col"].str.contains(word))。 可以通过一种DataFrame方法来完成吗?
142 python  pandas  contains 

11
替换pandas DataFrame中的列值
我正在尝试替换数据框的一列中的值。列(“ female”)仅包含值“ female”和“ male”。 我尝试了以下方法: w['female']['female']='1' w['female']['male']='0' 但是会收到与以前结果完全相同的副本。 理想情况下,我希望得到一些类似于下面的循环元素的输出。 if w['female'] =='female': w['female'] = '1'; else: w['female'] = '0'; 我浏览了gotchas文档(http://pandas.pydata.org/pandas-docs/stable/gotchas.html),但无法弄清楚为什么什么也没发生。 任何帮助将不胜感激。
141 python  pandas 

9
如何用熊猫DataFrame中的先前值替换NaN?
假设我有一个带有NaNs 的DataFrame : >>> import pandas as pd >>> df = pd.DataFrame([[1, 2, 3], [4, None, None], [None, None, 9]]) >>> df 0 1 2 0 1 2 3 1 4 NaN NaN 2 NaN NaN 9 我需要做的是用上面同一列中NaN的第一个非NaN值替换每个值。假设第一行永远不会包含NaN。因此,对于前面的示例,结果将是 0 1 2 0 1 2 3 1 4 2 3 2 …

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.