我有一个Dataframe df,其中Date
列属于每个Value
列。内容(仍然)格式化为字符串:
Date Value1 Date Value2
Index
0 30.01.2001 20,32 30.05.2005 50,55
1 30.02.2001 19,5 30.06.2005 49,21
2 30.03.2001 21,45 30.07.2005 48,1
我的问题(按优先顺序排列):
Value
列转换为浮动。到'。'与df.replace(to_replace =",",value ='。',inplace = True,regex = True)
所以你能建议我如何转换为浮动?我怀疑不工作的原因是逗号之后有时只有一个小数。我该如何解决这个问题?
如何对齐日期以使Value2
的日期与Value1
的日期相匹配(因此,只要行继续,就需要将其向下移动直到匹配为止直到现在?)
为了对列进行格式化,迭代列的最有效方法是什么?
编辑: 基于到目前为止的答案...我如何迭代更大的数据帧并按照建议将其拆分为单个/系列? (我在向df& s添加计数器整数时遇到问题,即df1,df2,df3 ......)
答案 0 :(得分:1)
许多步骤:
function MultiselectReportUserTags(container, options) {
var newitemtext;
var tags = getTags2();
if(options.model.ReportUserTags != undefined && options.model.ReportUserTags != "" && options.model.ReportUserTags.search(',') > -1 ) {
options.model.ReportUserTags = options.model.ReportUserTags.split(',');
}
$("<select multiple='multiple' data-bind='value: ReportUserTags.text' />")
.appendTo(container)
.kendoMultiSelect({
select: function (e) {
debugger;
var value = e.item.text();
var dataitems = this.dataSource.data();
var isNewTag = false;
if (value.indexOf("Add new tag: ") > -1) {
isNewTag = true;
}
value = value.replace("Add new tag: ", "");
for (var i = 0; i < dataitems.length; i++) {
var dataItem = dataitems[i];
if (dataItem.text == value) {
this.value().slice(0).push(value);
}
else if (dataItem.text.substring(0, "Add new tag: ".length) === "Add new tag: ") {
if (isNewTag) {
this.dataSource.remove(dataItem);
this.dataSource.add({ text: value, value: value });
}
else {
this.dataSource.remove(dataItem);
}
}
}
this.refresh();
$
},
change: function () {
},
dataBound: function () {
if ((newitemtext || this._prev) && newitemtext != this._prev) {
newitemtext = this._prev;
var dataitems = this.dataSource.data();
var isfound = false;
for (var i = 0; i < dataitems.length; i++) {
var dataItem = dataitems[i];
if (dataItem.value != dataItem.text) {
dataItem.text = "Add new tag: " + newitemtext;
this.refresh();
isfound = true;
}
}
if (!isfound) {
this.dataSource.add({ text: "Add new tag: " + newitemtext, value: newitemtext });
this.refresh();
}
this.search();
this.open();
}
},
dataSource: tags,
dataTextField: "text",
dataValueField: "value",
filter: "contains",
animation: false
});
}
function getTags2() {
var tagString = 'POSITION;ASSET;LOT;TRADE';
var tagArray = tagString.split(";");
var tags = [];
for (var i = 0; i < tagArray.length; i++) {
tags[i] = { text: tagArray[i], value: tagArray[i] };
}
return tags;
}