gpt4 book ai didi

python - 如何将 Pandas 数据框转换为具有混合数据类型和可能重复值的新格式

转载 作者:太空宇宙 更新时间:2023-11-03 14:11:22 25 4
gpt4 key购买 nike

我正在处理一个大型数据集。我从数据集中提取了表中的所有数据,如下所示(输出 1):

Label                                                 Value

Time
2010-01-01 00:00:30.560 AAAAA [3]
2010-01-01 00:00:30.560 BB -2.6000
2010-01-01 00:00:30.560 C -2.2000
2010-01-01 00:00:30.560 DD 0.0000
2010-01-01 00:00:40.160 GG 1_2_3

我的目标是将其更改为并取出虚拟变量标签和值并将时间作为我的索引

  Time                      AAAA   BB     C   DD   GG
2010-01-01 00:00:30.560 3 -2.6 -2.2 0 NaN
2010-01-01 00:00:40.160 NaN NaN NaN NaN 1_2_3

我的代码如下所示:

logparser = parse_filter_logfile('CleanLog2.txt')
df = pd.DataFrame(logparser, columns = ['Time', 'Label', 'Value'])
df['Time'] = pd.to_datetime(df['Time'], format="%Y%m%d_%H:%M:%S.%f") #I get Output 1 here

H=df.set_index(['Time', 'Label']).unstack(-1) #error I get the error: Index contains duplicate entries, cannot reshape

我尝试了几件事,但没有任何运气。当我使用它时,我收到此错误

df.pivot(index='Time', columns='Code') #Error: Index contains duplicate entries, cannot reshape

当我使用它时,我收到此错误:

df.pivot(index='Time', columns='Code',aggfunc='mean') #pivot() got an unexpected keyword argument 'aggfunc'

如果有人能提供帮助,我将不胜感激。提前致谢

更新我用过

 H=df.pivot_table(index='Time', columns='Code', values='Value',aggfunc='first')

这解决了问题。

最佳答案

您想使用pivot_table而不是pivot。没有示例数据很难判断,但这应该可行

pd.pivot_table(df,values="Value",index='Time', columns='Code',aggfunc='mean')

如果您有非数值数据,则应单独处理它,然后将其与数值数据合并。

关于python - 如何将 Pandas 数据框转换为具有混合数据类型和可能重复值的新格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48468731/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com