Questions tagged «pandas»

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

4
熊猫数据框中选定列和计数中值的唯一组合
我将数据存储在pandas数据框中,如下所示: df1 = pd.DataFrame({'A':['yes','yes','yes','yes','no','no','yes','yes','yes','no'], 'B':['yes','no','no','no','yes','yes','no','yes','yes','no']}) 所以我的数据看起来像这样 ---------------------------- index A B 0 yes yes 1 yes no 2 yes no 3 yes no 4 no yes 5 no yes 6 yes no 7 yes yes 8 yes yes 9 no no ----------------------------- 我想将其转换为另一个数据框。预期的输出可以在以下python脚本中显示: output = pd.DataFrame({'A':['no','no','yes','yes'],'B':['no','yes','no','yes'],'count':[1,2,4,3]}) 因此,我的预期输出如下所示 -------------------------------------------- index A B …
99 python  pandas 

12
有没有一种方法可以使用pandas.ExcelWriter自动调整Excel列的宽度?
我被要求生成一些Excel报告。我目前正在大量使用pandas作为数据,所以自然地我想使用pandas.ExcelWriter方法生成这些报告。但是,固定的列宽是一个问题。 到目前为止,我的代码很简单。假设我有一个名为“ df”的数据框: writer = pd.ExcelWriter(excel_file_path, engine='openpyxl') df.to_excel(writer, sheet_name="Summary") 我正在查看pandas代码,但实际上没有看到任何设置列宽的选项。宇宙中是否有技巧可以使列自动调整为数据?还是在事实之后我可以对xlsx文件做一些事情来调整列宽? (我正在使用OpenPyXL库,并生成.xlsx文件-如果有区别的话。) 谢谢。

8
将可识别熊猫时区的DateTimeIndex转换为朴素的时间戳,但在特定的时区
您可以使用该函数tz_localize来识别Timestamp或DateTimeIndex时区,但是如何相反:如何在保留时区的情况下将时区识别的Timestamp转换为朴素的时间戳? 一个例子: In [82]: t = pd.date_range(start="2013-05-18 12:00:00", periods=10, freq='s', tz="Europe/Brussels") In [83]: t Out[83]: <class 'pandas.tseries.index.DatetimeIndex'> [2013-05-18 12:00:00, ..., 2013-05-18 12:00:09] Length: 10, Freq: S, Timezone: Europe/Brussels 我可以通过将其设置为None来删除时区,但是结果将转换为UTC(12点变成10): In [86]: t.tz = None In [87]: t Out[87]: <class 'pandas.tseries.index.DatetimeIndex'> [2013-05-18 10:00:00, ..., 2013-05-18 10:00:09] Length: 10, Freq: S, Timezone: …
99 python  pandas 

10
通过熊猫DataFrame分组并选择最常用的值
我有一个包含三个字符串列的数据框。我知道第三列中的唯一一个值对于前两个的每种组合都有效。要清理数据,我必须按前两列按数据帧分组,并为每种组合选择第三列的最常用值。 我的代码: import pandas as pd from scipy import stats source = pd.DataFrame({'Country' : ['USA', 'USA', 'Russia','USA'], 'City' : ['New-York', 'New-York', 'Sankt-Petersburg', 'New-York'], 'Short name' : ['NY','New','Spb','NY']}) print source.groupby(['Country','City']).agg(lambda x: stats.mode(x['Short name'])[0]) 最后一行代码不起作用,它显示“键错误'Short name'”,如果我尝试仅按城市分组,则会收到AssertionError。我该如何解决?

6
如何在Pandas barplot中旋转x轴刻度标签
使用以下代码: import matplotlib matplotlib.style.use('ggplot') import matplotlib.pyplot as plt import pandas as pd df = pd.DataFrame({ 'celltype':["foo","bar","qux","woz"], 's1':[5,9,1,7], 's2':[12,90,13,87]}) df = df[["celltype","s1","s2"]] df.set_index(["celltype"],inplace=True) df.plot(kind='bar',alpha=0.75) plt.xlabel("") 我做了这个情节: 如何将x轴刻度标签旋转到0度? 我尝试添加它,但是没有用: plt.set_xticklabels(df.index,rotation=90)

4
Python Pandas:将选定的列保留为DataFrame而不是Series
从pandas DataFrame中选择单个列时(例如df.iloc[:, 0],df['A']或df.A等),结果矢量将自动转换为Series而不是单列DataFrame。但是,我正在编写一些将DataFrame作为输入参数的函数。因此,我更喜欢处理单列DataFrame而不是Series,以便函数可以假定df.columns是可访问的。现在,我必须使用来将Series显式转换为DataFrame pd.DataFrame(df.iloc[:, 0])。这似乎不是最干净的方法。是否有更优雅的方法直接从DataFrame进行索引,以便结果是单列DataFrame而不是Series?
99 python  pandas 

5
使Pandas DataFrame apply()使用所有内核?
截至2017年8月,不幸的是,Pandas DataFame.apply()仍限于使用单核,这意味着多核计算机在运行时将浪费其大部分计算时间df.apply(myfunc, axis=1)。 您如何使用所有核心并行运行一个数据帧上的应用程序?
98 pandas  dask 

5
在熊猫数据框中将NaN替换为None
我有桌子x: website 0 http://www.google.com/ 1 http://www.yahoo.com 2 None 我想用NaN替换python None。我试过了: x.replace(to_replace=None, value=np.nan) 但是我得到了: TypeError: 'regex' must be a string or a compiled regular expression or a list or dict of strings or regular expressions, you passed a 'bool' 我应该怎么做?

2
在满足熊猫特定条件的地方更新行值
说我有以下数据框: 什么是更新列的值最有效的方式壮举和another_feat其中流编号为2? 是这个吗? for index, row in df.iterrows(): if df1.loc[index,'stream'] == 2: # do something 更新: 如果我有超过100列怎么办?我不想明确命名要更新的列。我想将每列的值除以2(流列除外)。 所以要明确我的目标是: 将所有值除以具有流2的所有行的2,但不更改流列

4
按日期对熊猫数据框进行排序
我有一个熊猫数据框,如下所示: Symbol Date A 02/20/2015 A 01/15/2016 A 08/21/2015 我想按它排序Date,但该列只是一个object。 我试图将列设置为日期对象,但是遇到了一种格式不需要的格式的问题。所需的格式为2015-02-20,等。 因此,现在我试图找出如何使numpy将“美国”日期转换为ISO标准,以便可以使它们成为日期对象,以便可以对它们进行排序。 我该如何将这些美国日期转换为ISO标准,或者我在熊猫中缺少更直接的方法?
98 python  pandas 


13
python-pandas和类似mysql的数据库
Pandas的文档提供了许多使用各种格式存储的最佳实践示例。 但是,我找不到用于处理像MySQL这样的数据库的任何好的示例。 谁能指向我链接或提供一些代码片段,说明如何使用mysql-python将查询结果有效地转换为Pandas中的数据帧?
97 python  pandas 

4
单个变量的频率表
当天最后一个新手熊猫问题:如何为单个系列生成一张表? 例如: my_series = pandas.Series([1,2,2,3,3,3]) pandas.magical_frequency_function( my_series ) >> { 1 : 1, 2 : 2, 3 : 3 } 大量的搜索使我进入了Series.describe()和pandas.crosstabs,但是这些都不满足我的需要:一个变量,按类别计数。哦,如果它适用于不同的数据类型(字符串,整数等),那就太好了。

6
如何在熊猫数据框中将单元格设置为NaN
我想用NaN替换数据框列中的错误值。 mydata = {'x' : [10, 50, 18, 32, 47, 20], 'y' : ['12', '11', 'N/A', '13', '15', 'N/A']} df = pd.DataFrame(mydata) df[df.y == 'N/A']['y'] = np.nan 虽然,最后一行失败,并发出警告,因为它正在处理df副本。那么,处理此问题的正确方法是什么?我已经见过许多使用iloc或ix的解决方案,但是在这里,我需要使用布尔条件。
97 python  pandas  nan 

12
如何从mongodb导入数据到熊猫?
我需要分析mongodb中的集合中有大量数据。如何将这些数据导入熊猫? 我是熊猫和numpy的新手。 编辑:mongodb集合包含带有日期和时间标记的传感器值。传感器值是float数据类型。 样本数据: { "_cls" : "SensorReport", "_id" : ObjectId("515a963b78f6a035d9fa531b"), "_types" : [ "SensorReport" ], "Readings" : [ { "a" : 0.958069536790466, "_types" : [ "Reading" ], "ReadingUpdatedDate" : ISODate("2013-04-02T08:26:35.297Z"), "b" : 6.296118156595, "_cls" : "Reading" }, { "a" : 0.95574014778624, "_types" : [ "Reading" ], "ReadingUpdatedDate" : ISODate("2013-04-02T08:27:09.963Z"), …

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.