这是我的剧本……
import pandas as pd
data = {'Col1': [132, 148, 149], 'Col2': [232, 248, 249], 'Col3': [312, 308, 309], 'Col4': [1500, 1550, 1600], 'Col5': [530, 590, 568]}
df = pd.DataFrame(data)
print(df)
def lrgst(df, cols, n):
for key, col in df.set_index('Col4')[cols].items():
x = col.nlargest(n)
J=', '.join(f'{a}[{b}]' for a,b in zip(x.index, x))
return J
print(f"{lrgst(df, ['Col1'], 2)}")
字符串
输出为…
1600[149], 1550[148]
型
现在我想创建另一个函数来获取同一行中某个特殊列的值(比如Col3),其中col1值在我的函数中找到,并希望将它们保留在我上面输出的括号内。我的输出应该是这样的.
1600[149,309], 1550[148,308]
型
我想我的新功能是这样的...
def lrgst(df, cols, sp_col, n):
for key, col in df.set_index('Col4')[cols].items():
x = col.nlargest(n)
J=', '.join(f'{a}[{b},{c}]' for a,b,c in zip(x.index, x, idx.sp_col))
return J
print(f"{lrgst(df, ['Col1'], ['Col3'], 2)}")
型
请问有什么可以帮我的吗??
2条答案
按热度按时间tsm1rwdh1#
下面是函数lrgst的更新版本,它包含了额外的要求:
字符串
以下是如何使用此更新的函数:
型
这将为您提供给予所需的输出:
型
让我知道如果你需要任何进一步的帮助!
djmepvbi2#
请添加:
字符串
所有功能:
型
输出:
型
编辑:
调用函数的方式和你在帖子里提到的一样:
print(f"{lrgst(df, ['Col1'], ['Col3'], 2)}")
新增功能:
型
另一种方法:
型