python复制dataframe_Python Pandas复制和修改datafram中的一些行

我觉得在熊猫身上没有什么特别好的方法。

每当一个DataFrame包含一列列表,并且您想进行某种需要在列表上迭代的计算,您就必须为列中的每个项(即list)调用一次Python函数。这会影响性能,因为这里无法应用熊猫的快速矢量化操作。这个故事的寓意是尽可能避免将列表放入数据帧中。在

(当然,在您的案例中,您似乎希望在特定的

另一个应用程序的格式。如果这需要数据帧中的列表,那么

它。)

正如您所提到的,您可以迭代这些行。您可以使用iterrows或itertuples。我将使用itertuples,因为它往往更快:import itertools as IT

import numpy as np

import pandas as pd

Rs = [‘R{}’.format(i) for i in range(1,251)]

Cs = [‘C1’, ‘C2’]

df = pd.DataFrame({‘Names’: [Rs, Cs], ‘Count’: [‘n’,0],

‘PartNr’:[‘1234-5678′,’1234-6789’]})

def chunks(seq, n):

http://stackoverflow.com/a/312464/190597 (Ned Batchelder)

“”” Yield successive n-sized chunks from seq.”””

for i in range(0, len(seq), n):

yield seq[i:i + n]

result = []

for row in df.itertuples():

result.append(pd.DataFrame({‘Names’: list(chunks(row.Names, 100)),

‘Count’:row.Count,

‘PartNr’:row.PartNr}))

result = pd.concat(result, axis=0, ignore_index=True)

print(result)

收益率

^{pr2}$

在itertuplesfor-loop内,为每一行构造一个新的数据帧。

数据帧被收集到一个名为result的列表中。在for-loop之后

完成后,数据帧列表被连接到单个数据帧中。在

Original: https://blog.csdn.net/weixin_35148943/article/details/113510666
Author: 诚杜
Title: python复制dataframe_Python Pandas复制和修改datafram中的一些行

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/677093/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球