Pandas 在Excel中写入空行 - python

我有一个看起来像这样的Excel文件

     Name  Location      Date Check_1  Check_2   Open  High  Low  Close
0  Orange  New York  20200501       V       V    5.5   5.85  5.45  5.7
1   Apple     Minsk  20200504       V       X    NaN   NaN   NaN   NaN
2   Steak    Dallas  20200506       V       X    NaN   NaN   NaN   NaN

“ NaN”列应填充数据,该数据位于熊猫数据框中,如下所示:

   Name  Location      Date Check_2  Open  High    Low    Close 
1  Steak   Dallas  20200506      X    8.4   8.8    8.37   8.80  
0  Apple    Minsk  20200504      X    3.7   3.75   3.35   3.57  

如何附加仅NaN列被填充且整个文件不会仅被数据框中的数据覆盖的excel文件?我应该为整个excel文件创建一个新的数据框并将其写入,还是有一种更简单的方法?以及我该怎么做?

编辑:所需的输出:

     Name  Location      Date Check_1  Check_2   Open  High  Low  Close
0  Orange  New York  20200501       V       V    5.5   5.85  5.45  5.7
1   Apple     Minsk  20200504       V       V    3.7   3.75  3.35  3.57
2   Steak    Dallas  20200506       V       V    8.4   8.8   8.37  8.8

参考方案

首先需要指定DataFrame将哪些列用于两个DataFrame.set_index中的匹配行,然后将DataFrame.combine_first用于仅替换丢失的值,df1的最后更改顺序由df1.columns的列和set原始订单用于按帮助者列排序:

df1['count'] = np.arange(len(df1))
df11 = df1.set_index(['Name','Location','Date'])
df22 = df2.set_index(['Name','Location','Date'])

df = df22.combine_first(df11).reset_index().reindex(df1.columns, axis=1).sort_values('count')
print (df)
     Name  Location      Date Check_1 Check_2  Open  High   Low  Close  count
1  Orange  New York  20200501       V       V   5.5  5.85  5.45   5.70    0.0
0   Apple     Minsk  20200504       V       X   3.7  3.75  3.35   3.57    1.0
2   Steak    Dallas  20200506       V       X   8.4  8.80  8.37   8.80    2.0

Python Pandas:按分组分组,平均? - python

我有一个像这样的数据框:cluster org time 1 a 8 1 a 6 2 h 34 1 c 23 2 d 74 3 w 6 我想计算每个集群每个组织的平均时间。预期结果:cluster mean(time) 1 15 ((8+6)/2+23)/2 2 54 (74+34)/2 3 6 我不知道如何在熊猫中做到这一点,有人可以帮忙吗? 参考方案 如…

python :安装 python 后,如何导入 Pandas - python

我已经安装了 python 。现在,当我尝试跑步时import pandas as pd 我收到以下错误Traceback (most recent call last): File "<pyshell#0>", line 1, in <module> import pandasFile ImportError: …

Python Pandas:在多列上建立布尔索引 - python

尽管至少有关于如何在Python的pandas库中为DataFrame编制索引的two good教程,但我仍然无法在一个以上的列上找到一种优雅的SELECT编码方式。>>> d = pd.DataFrame({'x':[1, 2, 3, 4, 5], 'y':[4, 5, 6, 7, 8]}) >…

Python Pandas:选择索引范围 - python

datas = [['RAC1','CD0287',1.52], ['RAC1','CD0695',2.08], ['RAC1','ADN103-1',2.01], ['RAC3','CD0258',…

Python Pandas检查数据框是否不为空 - python

我有一个if语句,它在其中检查数据框是否为空。我的操作方式如下:if dataframe.empty: pass else: #do something 但实际上我需要:if dataframe is not empty: #do something 我的问题是-是否有一种.not_empty()方法可以实现这一目标?我还想问一下第二个版本在性能方面是否更好…