2
我有一堆翻转桶降雨量数据记录为每分钟间隔的提示数。我已经上传到一个熊猫数据框,我需要能够将每个单独的列乘以mm/tip校准因子,但列是int类型,因子是float类型。我已经试过:通过浮点常量熊猫数据帧乘以int列
DF [ '系列'] = DF [ '系列'] MUL(恒定) - >类型错误:不支持的操作数类型(一个或多个),用于*: 'NoneType' 和 '浮动'
df ['Series'] * =常数 - > TypeError:无法乘以'float'类型的非int序列
df ['Series'] = df ['Series']。astype(float) *常量 - > ValueError:无法将字符串转换为浮点数:
有一个简单的方法可以做到这一点...帮助?
编辑:
这里是我的数据是这样的:
以下是我读它在:
def loaddata(filepaths):
t1 = time.clock()
for i,filepath in enumerate(filepaths):
xl = pd.ExcelFile(filepath)
df = xl.parse(xl.sheet_names[0], header=0, index_col=2, skiprows=[0,2,3,4], parse_dates=True)
df = df.dropna(axis=1, how='all')
df = df.drop(['Decimal Year Day', 'Decimal Year Day.1', 'RECORD'], axis=1)
df.index = pd.DatetimeIndex(((df.index.asi8/(1e9*60)).round()*1e9*60).astype(np.int64)).values
return df
files = ["London Water Balance.xlsx"]
Water = loaddata(files)
继承人的D型
Water.dtypes
[L] Drainage NE float64
[L] Drainage SE object
[L] Embedded raingauge E object
[L] External raingauge object
dtype: object
pls显示你的数据以及你是如何读取它的。也发布df.dtypes,你可能有''object'' dtype数据(嵌入''None'')。你可以在读取它的时候进行转换(最好的方式),或者''df.convert_objects())''。事情需要是正确的dtype来获得效率。 – Jeff
我刚刚编辑了这个问题。我认为你对dtype的权利。在这种情况下转换最好的方法是什么? – pbreach
尝试df.convert_objects(convert_numeric = True)将强制它为数字列并将非数字设置为南 – Jeff