草庐IT

sample_dataframe

全部标签

python - 如何将合并的 Excel 单元格与 NaN 读入 Pandas DataFrame

我想将Excel工作表读入PandasDataFrame。但是,存在合并的Excel单元格以及Null行(完整/部分NaN已填充),如下所示。为澄清起见,JohnH.已下订单购买从“TheBodyguard”到“RedPillBlues”的所有专辑。当我将此Excel工作表读入PandasDataFrame时,Excel数据未正确传输。Pandas将合并的单元格视为一个单元格。DataFrame如下所示:(注意:()中的值是我想要的值)请注意,最后一行不包含合并单元格;它只包含Artist列的值。编辑:我确实尝试了以下方法来前向填充NaN值:(Pandas:ReadingExcelwi

python - 将csv文件读取到 `dtype`时,如何指定索引的 `DataFrame`?

在python3.4.3和Pandas0.16中,如何指定索引的dtype为str?下面的代码是我试过的:In[1]:fromioimportStringIOIn[2]:importpandasaspdIn[3]:importnumpyasnpIn[4]:fra=pd.read_csv(StringIO('date,close\n20140101,10.2\n20140102,10.5'),index_col=0,dtype={'date':np.str_,'close':np.float})In[5]:fra.indexOut[5]:Int64Index([20140101,2014

python - 将 DataFrame 与 Pandas 中的 Series 连接起来

有人能解释一下这个pandasconcat代码有什么问题吗?为什么数据框仍然是空的?我使用的是anaconda发行版,据我所知它以前是有效的。 最佳答案 您想使用这种形式:result=pd.concat([dataframe,series],axis=1)pd.concat(...)不会发生在原始dataframe中,但它会返回串联结果,因此您需要在某处分配串联,例如:>>>importpandasaspd>>>s=pd.Series([1,2,3])>>>df=pd.DataFrame()>>>df=pd.concat([df,

python - 将行添加到 pandas DataFrame 更改 dtype

我遇到的问题是向DataFrame添加一行会更改列的数据类型:>>>frompandasimportDataFrame>>>df=DataFrame({'a':range(10)},dtype='i4')>>>dfa00112233445566778899[10rowsx1columns]我特别指定dtype为int32(即'i4'),可以看出:>>>df.dtypesaint32dtype:object但是,添加一行会将dtype更改为float64:>>>df.loc[10]=99>>>dfa001122334455667788991099[11rowsx1columns]>>>d

python - 减去两个索引不重叠的 DataFrame

我正在尝试将两个DataFrame相减。我想将缺失值视为0。fillna()在这里不起作用,因为在进行减法之前我不知道公共(public)索引:importpandasaspdA=pd.DataFrame([1,2],index=['a','b'])B=pd.DataFrame([3,4],index=['a','c'])A-B0a-2bNaNcNaN理想情况下,我希望:A-B0a-2b2c-4是否有可能在保持代码简单的同时实现这一目标? 最佳答案 您可以使用subtract方法并指定一个fill_value为零:A.subtrac

python Pandas : Merge two tables without keys (Multiply 2 dataframes with broadcasting all elements; NxN dataframe)

我想合并2个具有广播关系的数据帧:没有公共(public)索引,只想找到2个数据框中的所有行对。所以想要制作N行数据框xM行数据框=N*M行数据框。是否有任何规则可以在不使用itertool的情况下实现这一点?DF1=idquantity01201223DF2=namepart0'A'31'B'42'C'5DF_merged=idquantitynamepart0120'A'31120'B'42120'C'53223'A'34223'B'45223'C'5 最佳答案 您可以在DataFrames和merge中使用辅助列tmp填充1在

python - 将 pandas Dataframe 列映射到字典值

我有一个one:many字典。我想将pandasDataframe列的值映射到字典的键(不是值)。这是我的词典:dict1={'fruits':('apple','grapes','oranges'),'food':('fish','meat','fibre')}这是pandas系列对象:df=pd.Series(['fish','apple','meat'])我想要的期望输出:0food1fruits2fooddtype:object 最佳答案 如果“其他”同时出现在“水果”和“食物”中怎么办?这就是为什么在没有某种逻辑来解决重复

python - 将 pandas DataFrame 与 Series 进行比较

我看过this和this到目前为止的问题,但他们并没有真正帮助我解决我的问题。这个问题很简单,但有点难以用语言表达。我有一个Dataframe,它是这样的矩阵:Stock1Stock2Date134Date214对于作为我的索引的每个日期,我想将值与系列中的单个点进行比较。像这样的系列:ValueDate12Date23我想通过类似DataFrame>Series的比较构建以下DataFrameStock1Stock2Date1TrueTrueDate2FalseTrue所以对于Date1,两个值都大于2,而对于Date2,只有Stock2大于3。提前致谢

python - 如何在 Pandas 的 .csv 文件中写入 DataFrame 时删除索引列?

这个问题在这里已经有了答案:Pandasto_csvcallisprependingacomma(1个回答)关闭5年前。我的DataFrame包含名为“a”、“b”的两列。现在,当我创建此DataFrame的csv文件时:df.to_csv('myData.csv')当我在excel文件中打开它时,有一个带有索引的额外列出现在列“a”和“b”旁边,但我不想要那个。我只希望列“a”和“b”出现在Excel工作表中。有什么办法吗?

python - ts.plot() 和 dataFrame.plot() 抛出错误 : "NameError: name ' _converter' is not defined"

运行数据框或系列的plot()方法时,python会抛出错误。错误的最后一行是NameError:name'_converter'isnotdefined我使用的是Python3.6,所有其他功能都按预期工作,所以不确定是什么原因造成的。下面是导致问题的代码示例,下面是导致的错误。importpandasaspdimportnumpyasnpimportmatplotlibimportmatplotlib.pyplotaspltts=pd.Series(np.random.randn(1000),index=pd.date_range('1/1/2000',periods=1000))