Python Pandas -从CSV生成矩阵



初学Pandas,但我认为这是合适的工具。

我有一个CSV文件,看起来像这样,显示源/目标/值之间的关系:

tbody> <<tr>
来源 目的
Item1Item1
Item1第二条
第二条Item1
第二条第二条

可供您选择的选项很少。您可以使用pivot(评论中已经有示例)或pivot_table。它们的不同之处在于pivot_table可以处理枢轴列的重复值,所以如果您确实有再次显示相同关系的行,请使用它。

代码可以像这样:

df = pd.read_csv('Input.csv')
res = df.pivot_table(values='Value', index='Source', columns='Destination',aggfunc=max)
# without aggfunc, you get 0 and 1 as result, you can also go with "any" for example. 
# if duplicate rows with different value in "Value" then you can decide about how these values gets aggregated.
res.to_csv('Output.csv')

其他可能是pd.crosstab(您也必须在这里选择aggfunc)或

我想熊猫的" pivot "会对你有帮助。

df = pd.read_csv("./source-def.csv", sep="t")
df_op = df.pivot(index='Source', columns='Destination', values='Value').fillna(False)
df_op.head()
<表类>目的地Item1第二条Item3Item4tbody><<tr>源Item1对对假假第二条假对对对

相关内容

  • 没有找到相关文章

最新更新