gpt4 book ai didi

python - Pandas - 将列表附加到现有数据框,与列的顺序相同

转载 作者:行者123 更新时间:2023-11-28 21:05:55 25 4
gpt4 key购买 nike

好的,所以我有一个预先创建的数据框,我尝试向它附加一个列表。在简化版本中,问题如下。

df = pd.DataFrame({'One': [],
'Another' : [],
'Third' : [],
'Last' : []})

然后我用列表做一些事情:

new_obj = []
new_obj.append('1')
new_obj.append('2')
#I have to do the extend operation here
new_obj.extend(['3','4'])

现在我只想将我的 new_obj 列表添加到我的数据框中,对象的顺序与我希望它们在数据框中的顺序相同。

所以我只是这样做:

df.loc[len(df.index)] = new_obj

结果我有:

  Another Last One Third
0 1 2 3 4

为什么?!为什么它将列顺序更改为无字母顺序。附加时如何保留它?

最佳答案

请注意,Python 中的 dict 本质上是无序的。为了指定 DataFrame 的正确顺序,您可以编写(或用户 collections.OrderedDict):

df = pd.DataFrame({'One': [],
'Another' : [],
'Third' : [],
'Last' : []}, columns=["One", "Another", "Third", "Last"])

另一方面,如果您真的不关心 DataFrame 中的顺序,您可以明确定义要添加的 list 列只需使用 dict 代替:

new_obj = {"One" : 1, "Anohter" : 2, "Third" : 3, "Last" : 4}
df.loc[len(df.index)] = new_obj

关于python - Pandas - 将列表附加到现有数据框,与列的顺序相同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43383780/

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