python - 在 Python Pandas DataFrame 中插入行

标签 python pandas insert row dataframe

(我是Python新手,对于我犯的任何错误感到抱歉,希望你能理解我)

我搜索了一种在 Python 中将行插入到 Pandas DataFrame 中的方法,我发现了这个:

add one row in a pandas.DataFrame

我已经使用了fred在该主题的接受答案中提供的代码,但是该代码覆盖了我的行: 我的代码(在某些条件下为每列插入一个值为“-1”的行):

df.loc[i+1] = [-1 for n in range(len(df.columns))]

如何使代码插入一行而不覆盖它? 例如,如果我有一个 50 行的 DataFrame,请在位置 25 插入一行(仅作为示例),并使 DataFrame 有 51 行(第 25 行是额外的新行)。

希望你能理解我的问题。 (抱歉有任何英语错误)

谢谢。

更新:

有人建议这样做:

Is it possible to insert a row at an arbitrary position in a dataframe using pandas?

试过了,没用。事实上,它什么也没做,没有添加任何行。

 line = pd.DataFrame({[-1 for n in range(len(df.columns))]}, index=[i+1])
 df = pd.concat([ df.ix[:i],  line,  df.ix[i+1:]]).reset_index(drop=True)

还有其他想法吗?

最佳答案

对于一个小的DataFrame,如果您想在位置1处插入一行:

df = pd.DataFrame({'a':[0,1],'b':[2,3]})

df1 = pd.DataFrame([4,5]).T  

pd.concat([df[:1], df1.rename(columns=dict(zip(df1.columns,df.columns))), df[1:]])

#Out[46]: 
#   a  b
#0  0  2
#0  4  5
#1  1  3

关于python - 在 Python Pandas DataFrame 中插入行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34352197/

相关文章:

python - 移动 pandas 数据框中的列会将数据设置为 NaN

python - 如何使用 python pandas 在本地系统 Jupyter Notebook 中读取两个较大的 5GB csv 文件?如何在本地连接两个数据框进行数据分析?

php - 将两个数组插入到一个mysql表中

javascript - 将 .html 文件的内容添加/注入(inject)到访问的每个网站 - Chrome 扩展?

Python 仅在 for 循环未开始迭代(使用生成器)时才执行代码?

python - import a.b 也导入 a?

python - sklearn 特征不影响准确性

c# - 如何使用SQLitePCL在C#Windows Phone App中检查插入操作是否成功

java - 使用 Pyjnius 覆盖 Python 中的 Java 方法

python - numpy 库的“包含”?