草庐IT

python - Pandas 数据帧 : Create new rows with calculations across existing rows

如何通过按特定字段(示例“国家/地区”和“行业”)分组并将一些数学应用于另一个字段(示例“字段”和“值”)来从现有DataFrame创建新行?源数据帧df=pd.DataFrame({'Country':['USA','USA','USA','USA','USA','USA','Canada','Canada'],'Industry':['Finance','Finance','Retail','Retail','Energy','Energy','Retail','Retail'],'Field':['Import','Export','Import','Export','Impor

python - 将 pandas DataFrame 旋转 90 度

基本上我想将pandasDataFrame旋转90度(顺时针),这样如果它是df:ABCD0536716352它会变成df:65A33B56C27D有没有办法用枢轴或其他方式做到这一点?谢谢! 最佳答案 转置In[1]:df=DataFrame([[5,3,6,7],[6,3,5,2]],index=[0,1],columns=list('ABCD'))In[2]:dfOut[2]:ABCD0536716352In[3]:df.TOut[3]:01A56B33C65D72我猜你真的想要这个In[7]:df.T.reset_index

python - 带有 Pandas 自定义窗口的滚动均值

有没有办法自定义rolling_mean函数的窗口?data12345678假设窗口设置为2,即计算包括观察在内的观察前后2个数据点的平均值。说第三个观察。在这种情况下,我们将有(1+2+3+4+5)/5=3。依此类推。 最佳答案 使用前向(或后向)窗口计算通常的滚动平均值,然后使用shift方法根据需要重新居中。data_mean=pd.rolling_mean(data,window=5).shift(-2)如果您想对观察前后超过2个数据点取平均值(总共5个数据点),则使window=5。例如,importpandasaspdd

python - pandas.DF() 中的列是否单调递增?

我可以使用is_monotonic方法检查pandas.DataFrame()的索引是否单调递增。但是,我想检查其中一个列值是否严格增加value(float/integer)?In[13]:my_df=pd.DataFrame([1,2,3,5,7,6,9])In[14]:my_dfOut[14]:001122335475669In[15]:my_df.index.is_monotonicOut[15]:True 最佳答案 Pandas0.19添加了公共(public)Series.is_monotonicAPI(以前,这仅在未记

python - Pandas :如何过滤数据帧中至少出现 n 次的重复项目的数据帧

我有一个包含重复条目的PandasDataFrame;有些项目列出了两次或三次。我想对其进行过滤,使其只显示至少列出n次的项目:DataFrame包含3列:['colA','colB','colC']。在确定该项目是否被多次列出时,它应该只考虑“colB”。注意:这不是drop_duplicates()。相反,我想删除数据框中少于n次的项目。最终结果应该只列出每个项目一次。 最佳答案 您可以使用value_counts获取项目计数,然后从中构造一个bool掩码并使用isin引用索引和测试成员资格:In[3]:df=pd.DataFr

python - 如何检查 Pandas 中列的任何值是否在一个范围内(在两个值之间)?

我有一个DataFrame,我想检查列的任何值(v)是否满足x.equal=any(df['columnX']==value)#Noproblemsherein_between=any(x我得到的错误是ValueError:ThetruthvalueofaSeriesisambiguous.Usea.empty,a.bool(),a.item(),a.any()ora.all().但我正在使用any()已经!那么这里有什么问题呢?为什么它适用于==但不是x? 最佳答案 使用between为此,它还通过inclusivearg支持是否

python - 在 Pandas 中使用多处理读取 csv 文件的最简单方法

这是我的问题。一堆.csv文件(或其他文件)。Pandas是一种读取它们并保存为Dataframe格式的简单方法。但是当文件量很大时,我想通过多处理来读取文件以节省一些时间。我早期的尝试我手动将文件分成不同的路径。分别使用:os.chdir("./task_1")files=os.listdir('.')files.sort()forfileinfiles:filename,extname=os.path.splitext(file)ifextname=='.csv':f=pd.read_csv(file)df=(f.VALUE.as_matrix()).reshape(75,90)然

python - 为什么在使用 pandas apply 时会出现 AttributeError?

我应该如何根据条件将NaN值转换为分类值。我在尝试转换Nan值时遇到错误。categorygendersub-categorytitlehealth&beautyNaNmakeuplipbalmhealth&beautywomenmakeuplipstickNaNNaNNaNlipgloss我的DataFrame看起来像这样。我将性别中的NaN值转换为分类值的函数看起来像defimpute_gender(cols):category=cols[0]sub_category=cols[2]gender=cols[1]title=cols[3]iftitle.str.contains('L

python - 按索引对 Pandas 系列进行排序

我有一个名为pd的Pandas数据框,我使用以下命令在此数据框的一列中提取唯一值的数量:b=df.groupby('Region').size()b是一个Pandas系列对象,看起来像这样:In[48]:bOut[48]:Region08125111241323415535624727850955N10我正在尝试绘制该系列的条形图,但是,我想首先根据第一列(因为1和2之间的11)对其进行排序,这将是x轴标签。我尝试传递排序命令,但它根据第二列中的值对系列进行排序:b.sort()In[48]:bOut[54]:Region11108N10415323624125727535241850

python - 如何在 Python 中使用 Pandas 从 s3 存储桶中读取 csv 文件

我正在尝试使用以下代码将位于AWSS3存储桶中的CSV文件作为pandas数据帧读取到内存中:importpandasaspdimportbotodata=pd.read_csv('s3:/example_bucket.s3-website-ap-southeast-2.amazonaws.com/data_1.csv')为了提供完整的访问权限,我在S3存储桶上设置了存储桶策略,如下所示:{"Version":"2012-10-17","Id":"statement1","Statement":[{"Sid":"statement1","Effect":"Allow","Princip