【问题标题】:How to append a new row on pandas dataframe with single column?如何在单列的熊猫数据框中添加新行?
【发布时间】:2018-03-02 11:50:36
【问题描述】:

这个问题似乎很简单,但我找不到任何解决方案。

假设我有一个像这样没有标题的 CSV 文件。

121
334
313
930

我想像这样在底部添加/追加带有数字0 的新行

121
334
313
930
0

我尝试了以下方法,但没有成功。

import pandas as pd
import os

folder_path = "/home/Ling/test/"
df = pd.read_fwf(folder_path + "test1.csv", usecols=[0], delimiter=",")
df2 = pd.DataFrame([[0]], dtype=int)
print df.append(df2, ignore_index=True)

结果

NaN 121
NaN 334
NaN 313
NaN 930
0.0 NaN

我正在关注这个example

我什至尝试将[[0]] 更改为[[0,]][[,0]],但没有成功。 代码中有什么我想念的吗?

感谢您的帮助和建议。

【问题讨论】:

    标签: python pandas dataframe append


    【解决方案1】:
    import pandas as pd
    import numpy as np
    
    #read data frame with header None
    df=pd.read_csv("datapath/df.csv",header=None)
    df=df.append(pd.Series(np.array([0])),ignore_index=True)
    

    【讨论】:

    • 或许可以描述一下你的建议?
    【解决方案2】:

    您也可以使用locshape 添加新行:

    df.loc[df.shape[0]] = 0
    

    或者如果你想使用append:

    df2 = pd.DataFrame([0])
    df.append(df2, ignore_index=True)
    

    最后,在读取csv 时添加header=None 以暗示不包含列名。

    【讨论】:

    • 嗨@zipa 谢谢你的回答。我不太明白您使用 locshape 的建议。我必须把它写成df2 = df.loc[df.shape[0]] append 吗?顺便说一句,您使用 append 的第二个建议效果很好。
    猜你喜欢
    • 1970-01-01
    • 2022-09-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-16
    • 1970-01-01
    • 2023-03-17
    相关资源
    最近更新 更多