我试图在读取多个csv文件后获得每个元素之间的差异。每个csv文件有13行和128列。我试图获得列式差异
我使用
读取文件i_tm
我得到了所有样本的清单。
根据this,我必须使用data = [pd.read_csv(f, index_col=None, header=None) for f in _temp]
来获得差异。这就是这样的事情
.diff()
这可行,但不是在同一样本中的每一行之间得到差异,而是得到一个样本的每一行与另一个样本之间的差异。
有没有办法将其分开并让每个样本中发生差异?
修改
好的,我可以通过这样做来获得数据元素之间的区别
data.diff()
我创建了太多的DataFrame,有没有更好的方法呢?
答案 0 :(得分:1)
这是一种相对有效的方法,一次一个地读取数据帧并计算它们存储在列表df_diff
中的差异。
df_diff = []
df_old = pd.read_csv(_temp[0], index_col=None)
for f in _temp[1:]:
df = pd.read_csv(f, index_col=None)
df_diff.append(df_old - df)
df_old = df
答案 1 :(得分:1)
由于您的代码有效,您应该在https://codereview.stackexchange.com/
上发帖(PS。领先" _"不是真正的pythonic。请避免。这会让您的代码更难阅读。)
_local = pd.DataFrame(data)
_list = [ _local[0][_aa].diff() for _aa in _local.index ]
flow = pd.DataFrame(_list, index=_local.index )