gpt4 book ai didi

python - 在 Python Pandas DataFrame 中插入行

转载 作者:行者123 更新时间:2023-12-01 04:15:31 26 4
gpt4 key购买 nike

(我是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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com