下面是我的代码,它简单地组合在一起并平均一组行。就我的一生而言,我不明白为什么在最终结果中会有一列被删除。你知道吗
import pandas as pd
def group_rows(dataframe1):
incr = 10
dataframe3 = pd.DataFrame()
for i in range(0,len(dataframe1.index),incr):
tmp = dataframe1[i:i+incr].mean()
dataframe3 = dataframe3.append(tmp, ignore_index=True)
print dataframe3.to_string()
group_rows(pd.read_csv('sample.csv')) # Inputs the CSV file whose snapshot is shown below
CSV文件sample.csv
是上述group_rows()
函数的输入,由12列和许多行组成。此函数返回的结果有11列,而不是12列。你知道吗
输出的快照如下所示。你知道吗
@tmrlvi以上的评论完全值得称赞。列被删除的原因确实是由于其中存在非数字数据。下面是一个代码片段,它用非数字数据标识行和列,改编自another SO question。你知道吗
代码片段中的一些注释。将
axis
设置为1将返回包含非数字数据的行,而将其设置为0将返回列。你知道吗我建议的策略是删除行,而不是Pandas默认的在
mean()
之类的聚合函数上删除列。要删除非数字行,以下代码段很有用。你知道吗相关问题 更多 >
编程相关推荐