我用pandas组织了我的数据 . 我把我的程序填写如下
import pandas as pd
import numpy as np
df1 = pd.read_table(r'E:\빅데이터 캠퍼스\골목상권 프로파일링 - 서울 열린데이터 광장 3.초기-16년5월분1\17.상권-추정매출\201301-201605\tbsm_trdar_selng.txt\tbsm_trdar_selng_utf8.txt' , sep='|' ,header=None
,dtype = { '0' : pd.np.int})
df1 = df1.replace('201301', int(201301))
df2 = df1[[0 ,1, 2, 3 ,4, 11,12 ,82 ]]
df2_rename = df2.columns = ['STDR_YM_CD', 'TRDAR_CD', 'TRDAR_CD_NM', 'SVC_INDUTY_CD', 'SVC_INDUTY_CD_NM', 'THSMON_SELNG_AMT', 'THSMON_SELNG_CO', 'STOR_CO' ]
print(df2.head(40))
df3_groupby = df2.groupby(['STDR_YM_CD', 'TRDAR_CD' ])
df4_agg = df3_groupby.agg(np.sum)
print(df4_agg.head(30))
当我打印df2时,我可以在TRDAR_CD列中看到11947和11948值 . 如下图
之后,我使用了groupby函数,在TRDAR_CD列中丢失了11948值 . 您可以在下面的图片中看到这种情况
可能,这个问题来自警告信息??警告消息是'sys:1:DtypeWarning:Columns(0)具有混合类型 . 在导入时指定dtype选项或设置low_memory = False .
帮我PLZ
print(df2.info())是
RangeIndex:1089023个条目,0到1089022
数据列(共8列):
STDR_YM_CD 1089023非空对象
TRDAR_CD 1089023非null int64
TRDAR_CD_NM 1085428非空对象
SVC_INDUTY_CD 1089023非空对象
SVC_INDUTY_CD_NM 1089023非空对象
THSMON_SELNG_AMT 1089023非null int64
THSMON_SELNG_CO 1089023非null int64
STOR_CO 1089023非null int64
dtypes:int64(4),object(4)
内存使用量:66.5 MB
没有
1 回答
MultiIndex被称为第一列和第二列,如果第一级默认重复,则'sparsified'索引的较高级别使控制台输出更容易一些 .
通过将display.multi_sparse设置为
False
,可以在MultiIndex
的第一级显示数据 .样品:
编辑问题编辑:
我认为问题是值的类型
11948
是string
,所以省略了 .EDIT1按档案:
您可以通过在read_csv中添加参数
usecols
然后按GroupBy.sum进行聚合来简化解决方案: