草庐IT

Dataframe

全部标签

python - Pandas DataFrame 将多个列值堆叠到单个列中

假设以下DataFrame:key.0key.1key.2topic1abcdefghi82xabxcdxef9如何将所有key.*列的值组合成一个“key”列,该列与对应于key.*列的主题值相关联?这是我想要的结果:topickey18abc28def38ghi49xab59xcd69xef请注意,key.N列的数量在某些外部N上是可变的。 最佳答案 你可以融化你的数据框:>>>keys=[cforcindfifc.startswith('key.')]>>>pd.melt(df,id_vars='topic',value_va

python - Panda 的 DataFrame - 重命名多个同名列

我在df中有几个名称相同的列。我需要重命名它们,但问题是df.rename方法以相同的方式重命名它们。如何将以下blah(s)重命名为blah1、blah4、blah5?df=pd.DataFrame(np.arange(2*5).reshape(2,5))df.columns=['blah','blah2','blah3','blah','blah']df#blahblah2blah3blahblah#001234#156789这是使用df.rename方法时发生的情况:df.rename(columns={'blah':'blah1'})#blah1blah2blah3blah1b

python - Pandas - 根据索引替换值

如果我像这样创建一个数据框:importpandasaspd,numpyasnpdf=pd.DataFrame(np.random.randint(0,100,size=(100,2)),columns=list('AB'))例如,如何将A列中的条目更改为第0-15行中的数字16?换句话说,如何完全根据索引替换单元格? 最佳答案 使用loc:df.loc[0:15,'A']=16print(df)AB0164511652169731658416265168761651716178163991673101694111669121657

python - 从python中的数据框行获取最大值

这个问题在这里已经有了答案:Findthemaxoftwoormorecolumnswithpandas(4个答案)Howtoselectmaxandminvalueinarowforselectedcolumns(2个答案)关闭5年前。这是我的数据框dfabc1.220.12.11.13.20.21.98.83.37.80.12我正在尝试从数据帧的每一行中获取最大值,我期待这样的输出max_value23.28.87.8这是我试过的df[len(df.columns)].argmax()我没有得到正确的输出,任何帮助将不胜感激。谢谢

python - Pandas 的性能问题和日期时间列的过滤

我有一个pandas数据框,其中一列上有一个datetime64对象。timevolumecompletecloseBidcloseAskopenBidopenAskhighBidhighAsklowBidlowAskcloseMid02016-08-0721:00:00+00:009True0.847340.848420.847060.848140.847340.848420.847060.848140.8478812016-08-0721:05:00+00:0010True0.847350.848410.847520.848320.847520.848460.847120.8482

python - Pandas 0.23 groupby 和 pct 更改未返回预期值

对于以下数据框中的每个Name,我试图找出从一个Time到下一个Amount列的百分比变化:创建数据框的代码:importpandasaspddf=pd.DataFrame({'Name':['Ali','Ali','Ali','Cala','Cala','Cala','Elena','Elena','Elena'],'Time':[1,2,3,1,2,3,1,2,3],'Amount':[24,52,34,95,98,54,32,20,16]})df.sort_values(['Name','Time'],inplace=True)我尝试的第一种方法(基于thisquestionan

python - Pandas :合并(内部连接)数据框的行数比原来的多

我在JupyterNotebook上使用python3.4,试图合并两个数据框,如下所示:df_A.shape(204479,2)df_B.shape(178,3)new_df=pd.merge(df_A,df_B,how='inner',on='my_icon_number')new_df.shape(266788,4)我认为上面合并的new_df应该比df_A有更少的行,因为合并就像一个内部连接。但是为什么这里的new_df居然比df_A有更多行呢?这是我真正想要的:我的df_A是这样的:idmy_icon_number-----------------------------A1

python - 使用 Pandas 计算 CSV 行中的分隔符

我有一个csv文件如下:name,agesomethingtom,20当我将它放入数据框时,它看起来像:df=pd.read_csv('file',header=None)011nameage2somethingNaN3tom20我如何获得原始行数据中逗号的计数。例如,答案应如下所示:#inpseudocodedf['_count_separators']=len(df.raw_value.count(','))01_count_separators1nameage12somethingNaN03tom201 最佳答案 非常简单,将

python - 如何重新排列 python pandas 数据框?

我从.csv文件中读取了以下数据框,其中“日期”列是索引。天在行中,列显示当天小时的值。>Dateh1h2h3h4...h24>14.03.201360505249...73我想这样安排,以便有一个包含日期/时间的索引列和一个包含序列中的值的列>Date/TimeValue>14.03.201300:00:0060>14.03.201301:00:0050>14.03.201302:00:0052>14.03.201303:00:0049>.>.>.>14.03.201323:00:0073我尝试使用两个循环遍历数据帧。在Pandas中有更简单的方法吗? 最

python - 将 DataFrame 列标题设置为 MultiIndex

如何将具有单级列的现有数据框转换为具有分层index列(MultiIndex)?示例数据框:In[1]:importpandasaspdfrompandasimportSeries,DataFramedf=DataFrame(np.arange(6).reshape((2,3)),index=['A','B'],columns=['one','two','three'])dfOut[1]:onetwothreeA012B345我原以为reindex()会起作用,但我得到的是NaN:In[2]:df.reindex(columns=[['odd','even','odd'],df.col