Python 打印数据帧名称
我是Python的新手。目前正在运行3.5.2 我希望函数能够捕获已传递的数据帧的名称 与我在运行函数时打印数据框内容不同(如下面的示例所示),是否有方法获取数据框名称(即“df”) 谢谢你的建议Python 打印数据帧名称,python,pandas,Python,Pandas,我是Python的新手。目前正在运行3.5.2 我希望函数能够捕获已传递的数据帧的名称 与我在运行函数时打印数据框内容不同(如下面的示例所示),是否有方法获取数据框名称(即“df”) 谢谢你的建议 #### Test Code #### # Import pandas module import pandas as pd # Create DataFrame df = pd.DataFrame({"A":[1,2,3], "B":[10,20,30]}) # Define Function
#### Test Code ####
# Import pandas module
import pandas as pd
# Create DataFrame
df = pd.DataFrame({"A":[1,2,3], "B":[10,20,30]})
# Define Function
def test(data):
print("Dataframe Name is: %s" % data)
print(data.describe())
# Run Function
test(df)
只需按如下方式命名dataframe,并修改您的函数
import pandas as pd
# Create DataFrame
df = pd.DataFrame({"A":[1,2,3], "B":[10,20,30]})
df.name = 'mydf'
# Define Function
def test(data):
print("Dataframe Name is: %s" % df.name)
print(data.describe())
Dataframe Name is: mydf
A B
count 3.0 3.0
mean 2.0 20.0
std 1.0 10.0
min 1.0 10.0
25% 1.5 15.0
50% 2.0 20.0
75% 2.5 25.0
max 3.0 30.0
# Run Function
test(df)
使用globals()
并搜索与局部变量数据匹配的对象
#### Test Code ####
# Import pandas module
import pandas as pd
# Create DataFrame
df = pd.DataFrame({"A":[1,2,3], "B":[10,20,30]})
# Define Function
def test(data):
name =[x for x in globals() if globals()[x] is data][0]
print("Dataframe Name is: %s" % name)
print(data.describe())
# Run Function
test(df)
结果将是:
Dataframe Name is: df
A B
count 3.0 3.0
mean 2.0 20.0
std 1.0 10.0
min 1.0 10.0
25% 1.5 15.0
50% 2.0 20.0
75% 2.5 25.0
max 3.0 30.0
非常感谢。非常感谢您的回复。事实上,我在网上看到了你提出的解决方案,但它并不完全满足我的需要。我面临的挑战是从函数中读取数据帧名称@sgDysregulation通过上面的解决方案解决了这个问题。很高兴听到@sgDysregulation帮助您通过另一个解决方案获得了所需的输出。是的。完美的谢谢。如果我把这段代码放在一个类和不同的文件中,那么我将从索引错误中得到列表。有什么解决办法吗?