当前位置:   article > 正文

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

python copy dataframe 到 dataframe csdn

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

每当一个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之后

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/153295
推荐阅读
相关标签
  

闽ICP备14008679号