小编Zes*_*a29的帖子

将round float转换为string pandas的问题

我正在将数据框中的列舍入到最近的5个浮点.之后我将列值转换为字符串,但是当我这样做时,浮动返回就好像它们没有接地一样.我正在使用Python 2.7

import pandas as pd
df=pd.read_excel(C:"path")

def custom_round(x, base=5):
    return base * round(float(x)/base)

df['A'] = df['kl'].apply(lambda x: custom_round(x, base=.05))
df['b'] = "D = "  + df['A'].astype(str)


     kl     A                       b  
 0.600001  0.60  D = 0.6000000000000001  
 0.600001  0.60  D = 0.6000000000000001  
 0.600000  0.60  D = 0.6000000000000001  
 0.600000  0.60  D = 0.6000000000000001  
 0.600587  0.60  D = 0.6000000000000001  
 0.601573  0.60  D = 0.6000000000000001  
 0.601168  0.60  D = 0.6000000000000001  
 0.600001  0.60  D = 0.6000000000000001  
 0.600001  0.60  D = 0.6000000000000001  
 0.600001  0.60  D = 0.6000000000000001 …
Run Code Online (Sandbox Code Playgroud)

floating-point rounding dataframe python-2.7 pandas

7
推荐指数
1
解决办法
200
查看次数

Pivot 将行复制到新列中 Pandas

我有一个这样的数据框,我正在尝试使用 Pandas 中的 Pivot 重塑我的数据框,这样我可以保留原始行中的一些值,同时将重复行变成列并重命名它们。有时我有 5 个重复的行

我一直在努力,但我不明白。

import pandas as pd
df = pd.read_csv("C:dummy")

df = df.pivot(index=["ID"], columns=["Zone","PTC"], values=["Zone","PTC"])

# Rename columns and reset the index.
df.columns = [["PTC{}","Zone{}"],.format(c) for c in df.columns]
df.reset_index(inplace=True)
# Drop duplicates
df.drop(["PTC","Zone"], axis=1, inplace=True)
Run Code Online (Sandbox Code Playgroud)

输入

ID  Agent   OV  Zone Value  PTC
1   10      26   M1   10    100
2   26.5    8    M2   50    95
2   26.5    8    M1   6     5
3   4.5     6    M3   4     40
3   4.5     6    M4   6     60
4   1.2 …
Run Code Online (Sandbox Code Playgroud)

python merge duplicates pandas

5
推荐指数
1
解决办法
1298
查看次数