我像这样将CSV读入数据框并运行info()
:
dlqcsv = pd.read_csv(a1, sep=',', encoding ="ISO-8859-1", low_memory=False, index_col=False)
dd = dlqcsv.info(verbose=True)
dd.describe()
它产生:
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 504334 entries, 0 to 504333
Data columns (total 288 columns):
Unnamed: 0 int64
rowno__loan float64
..... the rest of the 288 features
然后,我运行以下命令以计算唯一性(从该网站窃取他人的代码)
col_uni_val={}
for i in dlqcsv.columns:
col_uni_val[i] = len(dlqcsv[i].unique())
import pprint
col_uni_val
得到了,这很棒
{'Unnamed: 0': 504334,
'rowno_loan': 55851,
.. the rest of the 288 pairs..
我想将详细info
输出与unique count
输出结合起来。显然,这是一个简单的一对一唯一内部联接,匹配键中没有重复项。
如何在两个表中调用功能名称的列?似乎都没有列名?
另外,可以将计数直接写到数据框而不是字典中吗?谢谢。
熊猫有一个内置的方法来计算唯一值。您可以使用以下命令获取输出dlqcsv.nunique()
对于您所要求的整体任务,操纵df.info
是一项艰巨的任务。一个更简单的选择是使用类似于以下代码的内容来计算您的列的所有必需值。
output = []
for col in df.columns:
nonNull = len(df) - np.sum(pd.isna(df[col]))
unique = df[col].nunique()
colType = str(df[col].dtype)
output.append([col, nonNull, unique, colType])
output = pd.DataFrame(output)
output.columns = ['colName','non-null values', 'unique', 'dtype']
输出如下:
colName non-null values unique dtype
0 le_id 20 5 int64
1 run_seq 20 5 int64
2 cp_id 20 8 int64
3 cp_name 20 8 object
4 products 20 7 object
5 tran_amnt 20 17 int64
6 currency 20 6 object
7 current 1 1 float6
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句