草庐IT

pyhton_Pandas

全部标签

python - 从 {index : list of row values} 形式的字典构造 Pandas DataFrame

我已经设法使用:dft=pd.DataFrame.from_dict({0:[50,45,00,00],1:[53,48,00,00],2:[56,53,00,00],3:[54,49,00,00],4:[53,48,00,00],5:[50,45,00,00]},orient='index')这样做,构造函数看起来就像DataFrame一样,易于阅读/编辑:>>>dft0123050450015348002565300354490045348005504500但是DataFrame.from_dictconstructor没有列参数,因此为列提供合理的名称需要一个额外的步骤:dft.

python - 使用 Scikit Learn 对时间序列 pandas 数据框进行线性回归

我正在尝试使用scikit学习线性回归器对Pandas数据框进行简单的线性回归。我的数据是一个时间序列,pandas数据框有一个日期时间索引:value2007-01-010.7713052007-02-010.2566282008-01-010.6709202008-02-010.098047做一些简单的事fromsklearnimportlinear_modellr=linear_model.LinearRegression()lr(data.index,data['value'])没用:float()argumentmustbeastringoranumber所以我尝试创建一个包

python - Pandas 数据框 : Group by two columns and then average over another column

假设我有一个具有以下值的数据框:df:col1col2value123121231我想首先根据前两列(col1和col2)对我的数据框进行分组,然后对第三列(值)的值进行平均。所以所需的输出将如下所示:col1col2avg-value122231我正在使用以下代码:columns=['col1','col2','avg']df=pd.DataFrame(columns=columns)df.loc[0]=[1,2,3]df.loc[1]=[1,3,3]print(df[['col1','col2','avg']].groupby('col1','col2').mean())出现以下错

python - Pandas 用新值更新数据框行

我有一个文本文件,它已被df1=pandas.read_csv(r'fruits.txt',sep=',')读入pandasitemfreshness0apple2.21pear0.0以及将产生apple=2.3结果的一系列计算是否可以执行pandas.update以便我可以将数据框中apple的freshness值更新为2.3? 最佳答案 IIUC你需要loc:apple=2.3printdf['item']=='apple'0True1FalseName:item,dtype:booldf.loc[df['item']=='ap

python - 使用 "chunksize"和/或 "iterator"用 Pandas 打开选定的行

我有一个很大的csv文件,我用pd.read_csv打开它,如下所示:df=pd.read_csv(path//fileName.csv,sep='',header=None)由于文件很大,我希望能够按行打开它from0to511from512to1023from1024to1535...from512*nto512*(n+1)-1其中n=1、2、3...如果我将chunksize=512添加到read_csv的参数中df=pd.read_csv(path//fileName.csv,sep='',header=None,chunksize=512)然后我输入df.get_chunk(

python - 如何从 pandas.DataFrame.info() 返回一个字符串

我想显示pandas.DataFrame.info()的输出在tkinter文本小部件上,所以我需要一个字符串。但是pandas.DataFrame.info()返回NoneType无论如何我可以改变这个吗?importpandasaspdimportnumpyasnpdata=np.random.rand(10).reshape(5,2)cols='a','b'df=pd.DataFrame(data,columns=cols)df_info=df.info()print(df_info)type(df_info)我想做这样的事情:info_str=""df_info=df.info

python - Pandas 合并具有不同名称的列并避免重复

这个问题在这里已经有了答案:PandasMerging101(8个答案)关闭3年前。如何在两列名称不同的列上合并两个pandasDataFrame并保留其中一列?df1=pd.DataFrame({'UserName':[1,2,3],'Col1':['a','b','c']})df2=pd.DataFrame({'UserID':[1,2,3],'Col2':['d','e','f']})pd.merge(df1,df2,left_on='UserName',right_on='UserID')这提供了一个像这样的DataFrame但很明显,我正在合并UserName和UserID,

python - 具有多索引的 Pandas 样式对象

我正在使用样式器格式化pandas数据框以突出显示列和格式化数字。我还想应用多索引以获得更清晰、愉快和易于阅读的内容。由于我将Styler应用于列的子集,因此它不适用于多索引。例子:arrays=[np.hstack([['One']*2,['Two']*2]),['A','B','C','D']]columns=pd.MultiIndex.from_arrays(arrays)data=pd.DataFrame(np.random.randn(5,4),columns=list('ABCD'))data.columns=columnsimportseabornassnscm=sns.

python - 在 pandas python 列中获取非数字行

我查看了这篇文章:findingnon-numericrowsindataframeinpandas?但它并没有真正回答我的问题。我的示例数据:importpandasaspdd={'unit':['UD','UD','UD','UD','UD','UD'],'N-D':['Q1','Q2','Q3','Q4','Q5','Q6'],'num':[-1.48,1.7,-6.18,0.25,'sum(d)',0.25]}df=pd.DataFrame(d)看起来像这样:N-Dnumunit0Q1-1.48UD1Q21.70UD2Q3-6.18UD3Q40.25UD4Q5sum(d)UD5

python - Pandas - 按行交错/压缩两个数据帧

假设我有两个数据框:>>df10120abc1def>>df20120ABC1DEF我怎样才能交错行?即得到这个:>>interleaved_df0120abc1ABC2def3DEF(请注意,我的真实DF具有相同的列,但行数不同)。我尝试过的灵感来自thisquestion(非常相似,但询问列):importpandasaspdfromitertoolsimportchain,zip_longestdf1=pd.DataFrame([['a','b','c'],['d','e','f']])df2=pd.DataFrame([['A','B','C'],['D','E','F']])