gpt4 book ai didi

python - 高效地逐行构建 Pandas 数据框

转载 作者:行者123 更新时间:2023-12-03 17:16:46 25 4
gpt4 key购买 nike

我最近一直在通过迭代多个文件、行等来构建 Pandas 数据帧。我一直在通过在字典中附加项目然后转换为数据帧来构建它们:

我知道还有其他工具,例如 apply() 和 interrows() 可以逐行逐行应用或筛选数据。这不是这个问题的主题。

new_data_dict = {}
for r in df.index:
new_data = df.loc[r] **2
new_data_dict[r] = new_data

new_df = pd.DataFrame.from_dict(new_data_dict, orient = 'index')

这是构建 Pandas df 的最有效方法吗?我没有将它与 pandas.DataFrame.append 进行比较。我有两个关于 append 的想法。一方面,创建数据帧或系列(单行)只是为了附加它似乎不必要地繁重。另一方面,pandas 中内置的所有内容都非常快,例如上述方法 apply() 和 iterrows() 以及 groupby() 等。

逐行构建数据框的“大流行”方式是什么?

最佳答案

您可以使用 numpy,而不是使用 for 循环和重复行。

import pandas as pd
import numpy as np
df = pd.DataFrame({'Location':['New York','Florida','California', 'Nevada','Georgia'],
'Owner':['John','Gary','Mike','Kate','Lucy'],
'Score':[50,80,70,90,80]})

print (df)
new_df = pd.DataFrame(np.repeat(df.values,2,axis=0))
print (new_df)
原始数据框:
     Location Owner  Score
0 New York John 50
1 Florida Gary 80
2 California Mike 70
3 Nevada Kate 90
4 Georgia Lucy 80
具有重复行的新数据框:
            0     1   2
0 New York John 50
1 New York John 50
2 Florida Gary 80
3 Florida Gary 80
4 California Mike 70
5 California Mike 70
6 Nevada Kate 90
7 Nevada Kate 90
8 Georgia Lucy 80
9 Georgia Lucy 80

关于python - 高效地逐行构建 Pandas 数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42402509/

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