Questions tagged «pandas»

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

8
如何遍历熊猫数据框的列以运行回归
我敢肯定这很简单,但是作为python的完整新手,我在弄清楚如何遍历pandas数据帧中的变量并对每个变量进行回归时都遇到了麻烦。 这是我在做什么: all_data = {} for ticker in ['FIUIX', 'FSAIX', 'FSAVX', 'FSTMX']: all_data[ticker] = web.get_data_yahoo(ticker, '1/1/2010', '1/1/2015') prices = DataFrame({tic: data['Adj Close'] for tic, data in all_data.iteritems()}) returns = prices.pct_change() 我知道我可以像这样进行回归: regs = sm.OLS(returns.FIUIX,returns.FSTMX).fit() 但是假设我要对数据框中的每一列执行此操作。特别是,我想在FSTMX上还原FIUIX,然后在FSTMX上还原FSAIX,然后在FSTMX上还原FSAVX。每次回归后,我想存储残差。 我尝试了以下各种版本,但语法一定有误: resids = {} for k in returns.keys(): reg = sm.OLS(returns[k],returns.FSTMX).fit() resids[k] = reg.resid 我认为问题是我不知道如何按键引用return列,所以returns[k]可能是错误的。 …


4
将列添加到具有恒定值的数据框
我有一个现有的数据框,我需要添加一个额外的列,每行将包含相同的值。 现有的df: Date, Open, High, Low, Close 01-01-2015, 565, 600, 400, 450 新的df: Name, Date, Open, High, Low, Close abc, 01-01-2015, 565, 600, 400, 450 我知道如何追加现有的series / dataframe列。但这是另一种情况,因为我所需要的只是添加“名称”列,并将每一行设置为相同的值,在本例中为“ abc”。
186 python  pandas  dataframe 


2
熊猫重新采样文档
因此,我完全理解如何使用resample,但是文档在解释这些选项方面做得不好。 因此,resample除了以下两个以外,函数中的大多数选项都非常简单: rule:表示目标转换的偏移量字符串或对象 方式:字符串,下采样或重新采样的方法,默认为“均值” 因此,通过查看我在网上找到的尽可能多的示例,我可以看到规则可以'D'在一天,'xMin'几分钟,'xL'几毫秒内完成,但这就是我所能找到的全部。 如何我看到的情况如下:'first',np.max,'last','mean',和'n1n2n3n4...nx'其中nx为每列索引的第一个字母。 因此,我在文档中缺少的某个地方显示了pandas.resample规则的每个选项以及如何输入?如果是,在哪里,因为我找不到它。如果没有,那么他们有什么选择?

11
根据数据类型获取熊猫数据框列的列表
如果我有一个包含以下列的数据框: 1. NAME object 2. On_Time object 3. On_Budget object 4. %actual_hr float64 5. Baseline Start Date datetime64[ns] 6. Forecast Start Date datetime64[ns] 我想说:这是一个数据框,请给我列出对象类型或日期时间类型的列的列表? 我有一个将数字(Float64)转换为两位小数的函数,并且我想使用此数据框列的特定类型的列表,并通过此函数运行它以将它们全部转换为2dp。 也许: For c in col_list: if c.dtype = "Something" list[] List.append(c)?
184 python  pandas 


7
将特定的选定列提取到新DataFrame中作为副本
我有一个带有4列的pandas DataFrame,我想创建一个只有三个列的新 DataFrame 。这个问题类似于:从数据框中提取特定的列,但对于不是R的熊猫来说。以下代码不起作用,会引发错误,并且肯定不是熊猫的方式。 import pandas as pd old = pd.DataFrame({'A' : [4,5], 'B' : [10,20], 'C' : [100,50], 'D' : [-30,-50]}) new = pd.DataFrame(zip(old.A, old.C, old.D)) # raises TypeError: data argument can't be an iterator 熊猫式的做法是什么?

3
将列表列表导入Pandas DataFrame
我正在将电子表格的内容读入熊猫。DataNitro具有一种返回矩形单元格选择作为列表列表的方法。所以 table = Cell("A1").table 给 table = [['Heading1', 'Heading2'], [1 , 2], [3, 4]] headers = table.pop(0) # gives the headers as list and leaves data 我正忙着编写代码来翻译此内容,但我猜想它是如此简单,因此必须有方法可以做到这一点。无法在文档中找到它。任何可以简化此方法的指针?
182 python  pandas  datanitro 


5
在熊猫中将列转换为字符串
我从SQL查询中获得以下DataFrame: (Pdb) pp total_rows ColumnID RespondentCount 0 -1 2 1 3030096843 1 2 3030096845 1 我想像这样旋转它: total_data = total_rows.pivot_table(cols=['ColumnID']) (Pdb) pp total_data ColumnID -1 3030096843 3030096845 RespondentCount 2 1 1 [1 rows x 3 columns] total_rows.pivot_table(cols=['ColumnID']).to_dict('records')[0] {3030096843: 1, 3030096845: 1, -1: 2} 但是我想确保303列被强制转换为字符串而不是整数,以便得到: {'3030096843': 1, '3030096845': 1, -1: 2}
179 python  numpy  pandas 


9
pandas DataFrame:用列的平均值替换nan值
我有一个熊猫DataFrame,其中大多数都是实数,但其中也有一些nan值。 如何nan用列的平均值替换s? 这个问题与这个问题非常相似:numpy array:用列的平均值替换nan值, 但是不幸的是,给出的解决方案不适用于pandas DataFrame。
177 python  pandas  nan 

3
如何获取熊猫DataFrame的最后N行?
我有熊猫数据帧df1和df2(df1是vanila数据帧,df2由'STK_ID'和'RPT_Date'索引): >>> df1 STK_ID RPT_Date TClose sales discount 0 000568 20060331 3.69 5.975 NaN 1 000568 20060630 9.14 10.143 NaN 2 000568 20060930 9.49 13.854 NaN 3 000568 20061231 15.84 19.262 NaN 4 000568 20070331 17.00 6.803 NaN 5 000568 20070630 26.31 12.940 NaN 6 000568 20070930 39.12 19.977 NaN …
175 python  pandas  dataframe 

12
将包含NaN的Pandas列转换为dtype`int`
我将数据从.csv文件读取到Pandas数据框,如下所示。对于其中一列,id我想将列类型指定为int。问题在于该id系列的值缺失/为空。 当我尝试id在读取.csv时将列转换为整数时,得到: df= pd.read_csv("data.csv", dtype={'id': int}) error: Integer column has NA values 或者,我尝试在阅读以下内容后转换列类型,但是这次我得到: df= pd.read_csv("data.csv") df[['id']] = df[['id']].astype(int) error: Cannot convert NA to integer 我该如何解决?
175 python  pandas  na 

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.