草庐IT

python - Pandas 数据框的线性回归

我在pandas中有一个数据框,我正在使用它来生成散点图,并且想为该图包含一条回归线。现在我正在尝试使用polyfit来做到这一点。这是我的代码:importpandasaspdimportmatplotlibimportmatplotlib.pyplotaspltfromnumpyimport*table1=pd.DataFrame.from_csv('upregulated_genes.txt',sep='\t',header=0,index_col=0)table2=pd.DataFrame.from_csv('misson_genes.txt',sep='\t',header=

python - 在 Pandas 数据框中按列计算数字的出现次数

我有一个pandas数据框,我想计算一个数字在每一列中出现的频率abcde023154113254213254324153424153这是我的代码,但不起作用defequalsOne(x):x[x.columns==1].sum()df1.apply(equalOne(),axis=1)这是期望的输出a2b0c3d0e0 最佳答案 你可以这样做:(df==1).sum()df==1给出:abcde0FalseFalseTrueFalseFalse1TrueFalseFalseFalseFalse2TrueFalseFalseFals

Python/Pandas - 将类型从 pandas period 转换为 string

我有一个数据框:SeasonalDate2014-12-1.0897442015-01-0.2836542015-020.1589742015-030.461538我在DataFrame中使用了pd.to_period,所以它的索引变成了Pandasperiod类型(type'pandas._period.Period')。现在,我想将该索引转换为字符串。我正在尝试应用以下内容:df.index=df.index.astype(str)但是这不起作用...ValueError:CannotcastPeriodIndextodtype|S0我的代码从那时起就被卡住了。紧急求救

python - Pandas 数据帧的分位数归一化

简单来说,如何在Python中对大型Pandas数据帧(可能有2,000,000行)应用分位数归一化?附言。我知道有一个名为rpy2的包可以在子进程中运行R,在R中使用分位数归一化。但事实是,当我使用如下数据集时,R无法计算出正确的结果:5.690386092696389541e-05,2.051450375415418849e-05,1.963190184049079707e-05,1.258362869906251862e-04,1.503352476021528139e-04,6.881341586355676286e-068.535579139044583634e-05,5.1

python - 防止 pandas read_csv 将第一行视为列名的标题

我正在使用pd.read_csv读取pandasDataFrame。我想将第一行保留为数据,但它不断转换为列名。我试过header=False但这完全删除了它。(注意我的输入数据:我有一个字符串(st='\n'.join(lst)),我将其转换为类似文件的对象(io.StringIO(st)),然后从该文件对象构建csv。) 最佳答案 您希望header=None将False类型提升为int为0参见docs强调我的:header:intorlistofints,default‘infer’Rownumber(s)touseasthe

python - 如何获取 pandas.Series 或 pandas.DataFrame 中第 i 个项目的索引?

我正在尝试获取我拥有的Series中第6项的索引。这是头部的样子:UnitedStates1.536434e+13China6.348609e+12Japan5.542208e+12Germany3.493025e+12France2.681725e+12为了获取第6个索引名称(排序后的第6个国家/地区),我通常使用s.head(6)并从那里获取第6个索引。s.head(6)给我:UnitedStates1.536434e+13China6.348609e+12Japan5.542208e+12Germany3.493025e+12France2.681725e+12UnitedKin

python - 如何从一个 pandas 数据帧中减去另一个数据帧的行?

我想做的操作类似于合并。例如,通过inner合并,我们得到一个数据框,其中包含存在于第一个和第二个数据框中的行。通过outer合并,我们得到一个数据帧,它要么出现在第一个数据帧中,要么出现在第二个数据帧中。我需要的是一个数据框,其中包含存在于第一个数据框中但不存在于第二个数据框中的行?有没有一种快速而优雅的方法来做到这一点? 最佳答案 考虑以下:df_one是第一个DataFramedf_two是第二个DataFrame出现在第一个DataFrame中,不出现在第二个DataFrame中解决方案:通过索引df=df_one[~df_

python - 将 Pandas DataFrame 中的列值与 "NaN"值连接起来

我正在尝试将PandasDataFrame列与NaN值连接起来。In[96]:df=pd.DataFrame({'col1':["1","1","2","2","3","3"],'col2':["p1","p2","p1",np.nan,"p2",np.nan],'col3':["A","B","C","D","E","F"]})In[97]:dfOut[97]:col1col2col301p1A11p2B22p1C32NaND43p2E53NaNFIn[98]:df['concatenated']=df['col2']+','+df['col3']In[99]:dfOut[99]:c

python - Pandas 仅从数据框中选择数字或整数字段

我有这个Pandas数据框(df):AB01green12red2sblue33yellow4bblack类型是对象。我会选择A值为整数或数字的记录:AB01green12red33yellow谢谢 最佳答案 在数据帧上调用apply(注意双方括号df[['A']]而不是df['A'])并调用字符串方法isdigit(),然后我们设置参数axis=1以逐行应用lambda函数。这里发生的是索引用于创建bool掩码。In[66]:df[df[['A']].apply(lambdax:x[0].isdigit(),axis=1)]Out

python - 如何将 pandas 系列写入/读取 csv?

我无法弄清楚如何正确地编写/读取系列...以下(以及它的许多变体)导致读取系列与书面系列不同...请注意该系列被读入一个DataFrame而不是一个系列。In[55]:s=pd.Series({'a':1,'b':2})In[56]:sOut[56]:a1b2In[57]:s.to_csv('/tmp/s.csv')In[58]:!cat/tmp/s.csva,1b,2In[59]:pd.read_csv('/tmp/s.csv')Out[59]:a10b2 最佳答案 In[3]:s.to_csv('/home/wesm/tmp/s