Questions tagged «pandas»

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

11
为什么人们喜欢熊猫而不是SQL?
自1996年以来我一直在使用SQL,因此我可能会有所偏见。我已经广泛使用MySQL和SQLite 3,但也使用了Microsoft SQL Server和Oracle。 我见过的使用Pandas进行的绝大多数操作都可以通过SQL轻松完成。这包括过滤数据集,选择要显示的特定列,将函数应用于值等等。 SQL具有优化器和数据持久性的优点。SQL还具有清晰易懂的错误消息。Pandas的API有点晦涩难懂,在某些情况下,有时需要使用单个[ stuff ],[[ stuff ]]有时需要使用.loc。熊猫的复杂性部分是由于存在如此多的超载而造成的。 所以我试图了解为什么熊猫如此受欢迎。
69 pandas  sql 

1
熊猫中isna()和isull()之间的区别
我已经使用熊猫已有一段时间了。但是,我不了解熊猫isna()和isnull()熊猫之间有什么区别。而且,更重要的是,可使用哪一个来识别数据框中的缺失值。 如何将值检测为na或的基本根本区别是null什么?

7
ValueError:输入包含NaN,无穷大或dtype('float32')太大的值
使用RandomForest模型预测测试数据时出现ValueError。 我的代码: clf = RandomForestClassifier(n_estimators=10, max_depth=6, n_jobs=1, verbose=2) clf.fit(X_fit, y_fit) df_test.fillna(df_test.mean()) X_test = df_test.values y_pred = clf.predict(X_test) 错误: ValueError: Input contains NaN, infinity or a value too large for dtype('float32'). 如何在测试数据集中找到不良值?另外,我不想删除这些记录,我可以将它们替换为均值或中位数吗? 谢谢。

3
大熊猫相关矩阵的计算与可视化
我有一个带有多个条目的熊猫数据框,并且我想计算某种类型商店的收入之间的相关性。许多商店都有收入数据,活动区域分类(剧院,布料商店,食品...)和其他数据。 我尝试创建一个新的数据框,并插入一列,其中包含属于同一类别的所有种类的商店的收入,返回的数据框仅填充了第一列,其余填充了NaN。我累的代码: corr = pd.DataFrame() for at in activity: stores.loc[stores['Activity']==at]['income'] 我想这样做,所以我可以.corr()用来给出商店类别之间的相关矩阵。 之后,我想知道如何使用matplolib绘制矩阵值(-1到1,因为我想使用Pearson的相关性)。

5
打开一个20GB的文件用于熊猫分析
我当前正在尝试使用pandas和python打开文件以进行机器学习,这对我来说将它们全部放在DataFrame中是理想的选择。现在,该文件的大小为18GB,RAM为32GB,但是我一直遇到内存错误。 根据您的经验,可能吗?如果不是,您是否知道解决此问题的更好方法?(蜂巢表?将我的RAM的大小增加到64?创建数据库并从python访问它)

5
将列表列表转换为Pandas Dataframe
我正在尝试将如下所示的列表列表转换为Pandas Dataframe [['New York Yankees ', '"Acevedo Juan" ', 900000, ' Pitcher\n'], ['New York Yankees ', '"Anderson Jason"', 300000, ' Pitcher\n'], ['New York Yankees ', '"Clemens Roger" ', 10100000, ' Pitcher\n'], ['New York Yankees ', '"Contreras Jose"', 5500000, ' Pitcher\n']] 我基本上是试图将数组中的每个项目转换为具有四列的pandas数据框。最好的方法是pd.Dataframe并不能完全满足我的需求。
30 pandas 

1
为什么xgboost比sklearn GradientBoostingClassifier快得多?
我正在尝试通过50个具有100个数字特征的示例训练一个梯度提升模型。XGBClassifier我的机器43秒内把手500棵树,而GradientBoostingClassifier只处理10棵(!)以1分2秒:(我没有理会试图种植500棵树,因为它会需要几个小时。我使用的是相同的learning_rate,并max_depth设置, 见下文。 是什么使XGBoost如此之快?它是否使用了sklearn家伙不知道的用于梯度增强的新颖实现方式?还是“偷工减料”并种植浅树? ps我知道这个讨论:https : //www.kaggle.com/c/higgs-boson/forums/t/10335/xgboost-post-competition-survey,但是那里找不到答案... XGBClassifier(base_score=0.5, colsample_bylevel=1, colsample_bytree=1, gamma=0, learning_rate=0.05, max_delta_step=0, max_depth=10, min_child_weight=1, missing=None, n_estimators=500, nthread=-1, objective='binary:logistic', reg_alpha=0, reg_lambda=1, scale_pos_weight=1, seed=0, silent=True, subsample=1) GradientBoostingClassifier(init=None, learning_rate=0.05, loss='deviance', max_depth=10, max_features=None, max_leaf_nodes=None, min_samples_leaf=1, min_samples_split=2, min_weight_fraction_leaf=0.0, n_estimators=10, presort='auto', random_state=None, subsample=1.0, verbose=0, warm_start=False)
29 scikit-learn  xgboost  gbm  data-mining  classification  data-cleaning  machine-learning  reinforcement-learning  data-mining  bigdata  dataset  nlp  language-model  stanford-nlp  machine-learning  neural-network  deep-learning  randomized-algorithms  machine-learning  beginner  career  xgboost  loss-function  neural-network  software-recommendation  naive-bayes-classifier  classification  scikit-learn  feature-selection  r  random-forest  cross-validation  data-mining  python  scikit-learn  random-forest  churn  python  clustering  k-means  machine-learning  nlp  sentiment-analysis  machine-learning  programming  python  scikit-learn  nltk  gensim  visualization  data  csv  neural-network  deep-learning  descriptive-statistics  machine-learning  supervised-learning  text-mining  orange  data  parameter-estimation  python  pandas  scraping  r  clustering  k-means  unsupervised-learning 

4
是否有直接运行pandas.DataFrame.isin的直接方法?
我有一个建模和评分程序,该程序大量使用了DataFrame.isin熊猫的功能,在数千个特定页面的每个页面中搜索单个用户的Facebook“喜欢”记录列表。这是程序中最耗时的部分,而不是建模或评分部分,这仅仅是因为它仅在一个内核上运行,而其余部分同时在几十个内核上运行。 尽管我知道我可以手动将数据帧分解为多个块并并行运行该操作,但是有没有直接的自动方法?换句话说,是否有任何一种程序包可以识别我正在执行的一项容易委派的操作并自动分发它?也许这要求太多,但是过去我对Python中已有的功能感到惊讶,因此我认为值得提出。 任何其他有关如何完成此操作的建议(即使不是通过某些神奇的独角兽程序包也是如此!)也将不胜感激。主要是,只是试图找到一种方法,以在每次运行中节省15至20分钟的时间,而无需花费等量的时间来编码解决方案。


2
如何对熊猫中按两列分组的值求和
我有一个这样的Pandas DataFrame: df = pd.DataFrame({ 'Date': ['2017-1-1', '2017-1-1', '2017-1-2', '2017-1-2', '2017-1-3'], 'Groups': ['one', 'one', 'one', 'two', 'two'], 'data': range(1, 6)}) Date Groups data 0 2017-1-1 one 1 1 2017-1-1 one 2 2 2017-1-2 one 3 3 2017-1-2 two 4 4 2017-1-3 two 5 我如何生成这样的新DataFrame: Date one two 0 2017-1-1 3 …

4
如何根据熊猫数据框中的其他列填充缺失值?
假设我有一个5 * 3数据框,其中第三列包含缺失值 1 2 3 4 5 NaN 7 8 9 3 2 NaN 5 6 NaN 我希望为基于缺失值的规则生成价值,即第一产品第二列 1 2 3 4 5 20 <--4*5 7 8 9 3 2 6 <-- 3*2 5 6 30 <-- 5*6 如何使用数据框?谢谢。 如何添加条件以计算像这样的缺失值? if 1st % 2 == 0 then 3rd = …
19 pandas 


5
扩大seaborn热图
我corr()用原始df 创建了df。该corr()DF出来70×70,这是不可能的可视化热图... sns.heatmap(df)。如果我尝试显示corr = df.corr(),则表格不适合屏幕,并且我可以看到所有相关性。它是打印整个df大小而不管其大小还是控制热图大小的方法吗?
17 visualization  pandas  plotting  machine-learning  neural-network  svm  decision-trees  svm  efficiency  python  linear-regression  machine-learning  nlp  topic-model  lda  named-entity-recognition  naive-bayes-classifier  association-rules  fuzzy-logic  kaggle  deep-learning  tensorflow  inception  classification  feature-selection  feature-engineering  machine-learning  scikit-learn  tensorflow  keras  encoding  nlp  text-mining  nlp  rnn  python  neural-network  feature-extraction  machine-learning  predictive-modeling  python  r  linear-regression  clustering  r  ggplot2  neural-network  neural-network  training  python  neural-network  deep-learning  rnn  predictive-modeling  databases  sql  programming  distribution  dataset  cross-validation  neural-network  deep-learning  rnn  machine-learning  machine-learning  python  deep-learning  data-mining  tensorflow  visualization  tools  sql  embeddings  orange  feature-extraction  unsupervised-learning  gan  machine-learning  python  data-mining  pandas  machine-learning  data-mining  bigdata  apache-spark  apache-hadoop  deep-learning  python  convnet  keras  aggregation  clustering  k-means  r  random-forest  decision-trees  reference-request  visualization  data  pandas  plotting  neural-network  keras  rnn  theano  deep-learning  tensorflow  inception  predictive-modeling  deep-learning  regression  sentiment-analysis  nlp  encoding  deep-learning  python  scikit-learn  lda  convnet  keras  predictive-modeling  regression  overfitting  regression  svm  prediction  machine-learning  similarity  word2vec  information-retrieval  word-embeddings  neural-network  deep-learning  rnn 


2
我们应该在工作流中的哪里处理丢失的数据?
我正在构建一个工作流,用于从一个非常大的数据库(这里是通过SQL和的Vertica)中提取的数据创建机器学习模型(在我的情况下,使用Python pandas和sklearn软件包)pyodbc,该过程中的关键步骤包括估算缺失预测值。在单个分析或统计平台(Python,R,Stata等)中,这很简单,但是我很好奇在多平台工作流程中该步骤的最佳位置。 在Python中使用sklearn.preprocessing.Imputer类,使用pandas.DataFrame.fillna方法或手动进行此操作非常简单(取决于所使用的插补方法的复杂性)。但是由于我要在亿万个记录中的数十个或数百个列中使用它,所以我想知道是否存在一种更有效的方法来提前通过SQL直接进行此操作。除了在像Vertica这样的分布式平台上执行此操作的潜在效率之外,这还具有使我们能够创建用于构建“完整”表版本的自动化管道的额外好处,因此我们不需要填写新的表集每次我们要运行模型时,都会从头开始缺少值。 我还没有找到很多指导,但是我想我们可以: 为每个不完整的列创建一个替代值表(例如,平均值/中位数/众数,整体或按组) 将替换值表与原始表连接起来,为每行和不完整的列分配一个替换值 如果可用,使用一系列case语句获取原始值,否则使用替代值 这是在Vertica / SQL中做的合理的事情,还是有充分的理由不打扰而只是在Python中处理它?如果是后者,是否有充分的理由在大熊猫而不是sklearn或相反的情况下这样做?谢谢!

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.