Questions tagged «pandas»

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


13
如何打印分组对象
我想打印与熊猫分组的结果。 我有一个数据框: import pandas as pd df = pd.DataFrame({'A': ['one', 'one', 'two', 'three', 'three', 'one'], 'B': range(6)}) print(df) A B 0 one 0 1 one 1 2 two 2 3 three 3 4 three 4 5 one 5 按“ A”分组后进行打印时,我有以下内容: print(df.groupby('A')) <pandas.core.groupby.DataFrameGroupBy object at 0x05416E90> 如何打印分组的数据框? 如果我做: print(df.groupby('A').head()) 我获得的数据框好像没有分组一样: A …
133 python  pandas 

20
如何在Python中进行热编码?
我有一个80%分类变量的机器学习分类问题。如果要使用一些分类器进行分类,是否必须使用一种热编码?我可以在没有编码的情况下将数据传递给分类器吗? 我正在尝试进行以下功能选择: 我读了火车文件: num_rows_to_read = 10000 train_small = pd.read_csv("../../dataset/train.csv", nrows=num_rows_to_read) 我将类别特征的类型更改为“类别”: non_categorial_features = ['orig_destination_distance', 'srch_adults_cnt', 'srch_children_cnt', 'srch_rm_cnt', 'cnt'] for categorical_feature in list(train_small.columns): if categorical_feature not in non_categorial_features: train_small[categorical_feature] = train_small[categorical_feature].astype('category') 我使用一种热编码: train_small_with_dummies = pd.get_dummies(train_small, sparse=True) 问题是,尽管我使用的是坚固的机器,但第3部分经常卡住。 因此,没有一种热编码,我就无法进行任何特征选择来确定特征的重要性。 您有什么推荐的吗?

5
Pandas DataFrame:根据条件替换列中的所有值
我有一个简单的DataFrame如下所示: 我想从“第一季”列中选择所有值,然后将1990年以后的值替换为1。在此示例中,只有巴尔的摩乌鸦将1996年替换为1(其余数据保持不变)。 我使用了以下内容: df.loc[(df['First Season'] > 1990)] = 1 但是,它将行中的所有值替换为1,而不仅仅是“第一季”列中的值。 如何仅替换该列中的值?
132 python  pandas  dataframe 

5
标准化大熊猫中的数据
假设我有一个熊猫数据框df: 我想计算数据框的列均值。 这很简单: df.apply(average) 然后按列范围max(col)-min(col)。这又很容易: df.apply(max) - df.apply(min) 现在,对于每个元素,我要减去其列的均值并除以其列的范围。我不确定该怎么做 非常感谢任何帮助/指针。
131 python  pandas  numpy 

10
熊猫将数据框转换为元组数组
我已经使用熊猫处理了一些数据,现在我想将批处理保存回数据库。这要求我将数据帧转换为元组数组,每个元组都对应于数据帧的“行”。 我的DataFrame看起来像: In [182]: data_set Out[182]: index data_date data_1 data_2 0 14303 2012-02-17 24.75 25.03 1 12009 2012-02-16 25.00 25.07 2 11830 2012-02-15 24.99 25.15 3 6274 2012-02-14 24.68 25.05 4 2302 2012-02-13 24.62 24.77 5 14085 2012-02-10 24.38 24.61 我想将其转换为元组数组,例如: [(datetime.date(2012,2,17),24.75,25.03), (datetime.date(2012,2,16),25.00,25.07), ...etc. ] 关于如何有效执行此操作的任何建议?
131 python  pandas 

3
计算大熊猫数量的最有效方法是什么?
我有一个大的(约1200万行)数据帧df,说: df.columns = ['word','documents','frequency'] 因此,以下及时运行: word_grouping = df[['word','frequency']].groupby('word') MaxFrequency_perWord = word_grouping[['frequency']].max().reset_index() MaxFrequency_perWord.columns = ['word','MaxFrequency'] 但是,这要花费很长的时间才能运行: Occurrences_of_Words = word_grouping[['word']].count().reset_index() 我在这里做错了什么?有没有更好的方法来计算大型数据框中的出现次数? df.word.describe() 运行良好,所以我真的没想到这个Occurrences_of_Words数据框会花费很长时间。 ps:如果答案很明显,并且您觉得有必要因提出这个问题而对我不利,请同时提供答案。谢谢。
131 python  pandas 

6
如何检查python pandas中列的dtype
我需要使用不同的函数来处理数字列和字符串列。我现在正在做的事情真是愚蠢: allc = list((agg.loc[:, (agg.dtypes==np.float64)|(agg.dtypes==np.int)]).columns) for y in allc: treat_numeric(agg[y]) allc = list((agg.loc[:, (agg.dtypes!=np.float64)&(agg.dtypes!=np.int)]).columns) for y in allc: treat_str(agg[y]) 有没有更优雅的方法可以做到这一点?例如 for y in agg.columns: if(dtype(agg[y]) == 'string'): treat_str(agg[y]) elif(dtype(agg[y]) != 'string'): treat_numeric(agg[y])
130 python  pandas 

9
从列中的字符串中删除不需要的部分
我正在寻找一种有效的方法来从DataFrame列的字符串中删除不需要的部分。 数据如下: time result 1 09:00 +52A 2 10:00 +62B 3 11:00 +44a 4 12:00 +30b 5 13:00 -110a 我需要将这些数据修剪为: time result 1 09:00 52 2 10:00 62 3 11:00 44 4 12:00 30 5 13:00 110 我试过了.str.lstrip('+-')。str.rstrip('aAbBcC'),但出现错误: TypeError: wrapper() takes exactly 1 argument (2 given) 任何指针将不胜感激!

2
检查变量是否为数据框
当我的函数f用一个变量调用时,我想检查var是否是一个熊猫数据框: def f(var): if var == pd.DataFrame(): print "do stuff" 我想解决方案可能很简单,但即使 def f(var): if var.values != None: print "do stuff" 我无法使其按预期方式工作。
129 python  pandas 

4
将熊猫数据框列表连接在一起
我有一个熊猫数据框列表,我想将其合并为一个熊猫数据框。我正在使用Python 2.7.10和Pandas 0.16.2 我从以下位置创建了数据框列表: import pandas as pd dfs = [] sqlall = "select * from mytable" for chunk in pd.read_sql_query(sqlall , cnxn, chunksize=10000): dfs.append(chunk) 这将返回数据帧列表 type(dfs[0]) Out[6]: pandas.core.frame.DataFrame type(dfs) Out[7]: list len(dfs) Out[8]: 408 这是一些示例数据 # sample dataframes d1 = pd.DataFrame({'one' : [1., 2., 3., 4.], 'two' : [4., …

7
读取csv时删除熊猫中的索引列
我有以下代码导入CSV文件。有3列,我想将其中的前两个设置为变量。当我将第二列设置为变量“效率”时,索引列也会被添加。如何摆脱索引列? df = pd.DataFrame.from_csv('Efficiency_Data.csv', header=0, parse_dates=False) energy = df.index efficiency = df.Efficiency print efficiency 我尝试使用 del df['index'] 我设置好之后 energy = df.index 我在另一篇文章中找到的,但结果为“ KeyError:'index'”
128 python  pandas 



8
使用.corr获取两列之间的相关性
我有以下熊猫数据框Top15: 我创建了一个估计每人可引用文件数量的列: Top15['PopEst'] = Top15['Energy Supply'] / Top15['Energy Supply per Capita'] Top15['Citable docs per Capita'] = Top15['Citable documents'] / Top15['PopEst'] 我想知道人均引用文件数量与人均能源供应之间的相关性。因此,我使用了.corr()方法(皮尔逊相关性): data = Top15[['Citable docs per Capita','Energy Supply per Capita']] correlation = data.corr(method='pearson') 我想返回一个数字,但是结果是:

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.