【发布时间】:2020-10-15 22:12:38
【问题描述】:
我有一个带有checkdataframe.shape (68125, 109) 的 Pandas 数据框。我想在所有列中执行操作,就像我在下面对单个列表执行的操作一样。
def alter_column(column,batchSize=10):
return_list=[]
for idx,value in enumerate(column):
if (idx+1)%batchSize==1:
return_list.append(value)
else:
return_list.append(np.nan)
return return_list
返回一个列表,其中的值在 10 的特定间隔内被删除,如输出
['175,5200',nan,nan,nan,nan,nan,nan,nan,nan,nan,'175,5200',nan,nan,nan,nan,nan,nan,nan,nan,nan,'180,0000']
我希望它在整个 dataframe 上执行此操作。我尝试了 df.iteritems 和 df.iterrows 但它显示错误。有什么可能的解决方案或方法吗?
eg:df['column1']=[1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2]
df['column2']=[3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4]
expected_output:
column1=['1',nan,nan,nan,nan,nan,nan,nan,nan,nan,'2',nan,nan,nan,nan,nan,nan,nan,nan,nan] column2=['3',nan,nan,nan,nan,nan,nan,nan,nan,nan,'4',nan,nan,nan,nan,nan,nan,nan,nan,nan]
但我的真实数据集有 109 列
【问题讨论】:
-
请提供一个小数据样本,以及所需的输出。见stackoverflow.com/questions/20109391/…
-
@Roy2012 我添加了一个示例数据和输出。
标签: python pandas dataframe iteration