在python中从descripe()提取值
有没有办法从python中的descripe函数中提取值 例如,我有这个表在python中从descripe()提取值,python,pandas,Python,Pandas,有没有办法从python中的descripe函数中提取值 例如,我有这个表 basicprofiling = pdf.toPandas().describe() product Bs_type country period table_name count 200 200 200 200 200 unique 2 1 1 1 2 top
basicprofiling = pdf.toPandas().describe()
product Bs_type country period table_name
count 200 200 200 200 200
unique 2 1 1 1 2
top Deposits Retail vietnam daily animal
freq 100 200 200 200 100
假设我想提取和打印产品计数、唯一编号和总类型。
这是可以实现的吗
这就是我试过的
basicprofiling.select('prf_product')但它在str not callable上返回错误描述返回一个以摘要名称为索引的数据帧,因此您可以使用
loc
访问所有计数(例如),如下所示:
import numpy as np
import pandas as pd
df = pd.DataFrame(np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]), columns=['a', 'b', 'c'])
data = df.describe()
data.loc['count']
data.loc["count","a"]
个人价值观是这样的:
import numpy as np
import pandas as pd
df = pd.DataFrame(np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]), columns=['a', 'b', 'c'])
data = df.describe()
data.loc['count']
data.loc["count","a"]
您可以使用to_frame()
从序列中获取数据帧(输出descripe
),然后使用.T
将序列索引转换为列名。然后,您可以简单地访问所需的值。比如说
s = pd.Series(['a', 'a', 'b', 'c'])
basicprofiling = s.describe().to_frame().T
print (basicprofiling['count'], basicprofiling['unique'])
# 4, 3
如果你跑这条线,你会看到
print(type(df.descripe())
实际上返回一个数据帧:
df = pd.DataFrame({"a":[1,4],"b":[2,1],"c":[7,9],"d":[1,3]})
print(df.describe()['a']['count'])
因此,您可以像访问常规数据帧一样访问内部的值:
df = pd.DataFrame({"a":[1,4],"b":[2,1],"c":[7,9],"d":[1,3]})
print(df.describe()['a']['count'])
输出将是:
2.0
当您的df
是数据帧开始时,它返回一个数据帧,尝试使用df=pd.Series({“a:[1,4],“b:[2,1],“c:[7,9],“d:[1,3]})
然后打印
将列放入loc
应该避免我不知道!相应地编辑。3个人抽出时间回答你的问题。您是否愿意选择最佳答案和/或在答案不好时提供反馈/意见