我有一个通过解析一些excel电子表格创建的pd.DataFrame.其中一列有空单元格.例如,下面是该列频率的输出,32320记录缺少租户的值.
In [67]: value_counts(Tenant,normalize=False)
Out[67]:
32320
Thunderhead 8170
Big Data Others 5700
Cloud Cruiser 5700
Partnerpedia 5700
Comcast 5700
SDP 5700
Agora 5700
dtype: int64
Run Code Online (Sandbox Code Playgroud)
我试图删除租户丢失的行,但是isnull选项无法识别缺失的值.
In [71]: df['Tenant'].isnull().sum()
Out[71]: 0
Run Code Online (Sandbox Code Playgroud)
该列的数据类型为"Object".在这种情况下发生了什么?如何删除租户丢失的记录?
我需要帮助才能使这个工作.我有一个pd.DataFrame (df),我需要加载到MySQL数据库.我不明白错误消息的含义以及如何解决它.
任何帮助将受到高度赞赏.
这是我试过的:
import MySQLdb
from pandas.io import sql
#METHOD 1
db=MySQLdb.connect(host="***",port=***,user="***",passwd="***",db="***")
df.to_sql(con=db, name='forecast', if_exists='replace', flavor='mysql')
##Also tried
sql.write_frame(df, con=db, name='forecast', if_exists='replace', flavor='mysql')
**DatabaseError**: Execution failed on sql: SHOW TABLES LIKE %s
(2006, 'MySQL server has gone away')
unable to rollback
#METHOD 2: using sqlalchemy
from sqlalchemy import create_engine
engine = create_engine("mysql+mysqldb://**username***:**passwd**@***host***:3306/**dbname**")
conn = engine.raw_connection()
df.to_sql(name='demand_forecast_t', con=conn,if_exists='replace', flavor='mysql',index=False, index_label='rowID')
conn.close()
Run Code Online (Sandbox Code Playgroud)
错误消息是:
**OperationalError**: DatabaseError: Execution failed on sql: SHOW TABLES LIKE %s
(2006, 'MySQL server has gone away') …Run Code Online (Sandbox Code Playgroud) 有没有办法格式化系数估计值。值不是很小。我正在使用 LM 功能
Estimate Std. Error t value Pr(>|t|)
(Intercept) -1.041e+01 8.259e-02 -126.015 < 2e-16 ***
QUANTITY 3.929e-01 1.684e-02 23.324 < 2e-16 ***
WEIGHT 1.125e-04 3.650e-05 3.082 0.00206 **
PACKAGES 5.702e+00 1.135e-01 50.228 < 2e-16 ***
DEPT_COUNT 1.188e+01 8.834e-02 134.475 < 2e-16 ***
PROD_CNT 1.062e+00 2.708e-02 39.220 < 2e-16 ***
Run Code Online (Sandbox Code Playgroud)