mirror of
https://github.com/Magnus167/rustframe.git
synced 2025-08-20 09:30:01 +00:00
Implement column renaming in DataFrame, updating both logical names and underlying Frame references.
This commit is contained in:
parent
9b480e8130
commit
ff4535c56b
@ -252,9 +252,28 @@ impl DataFrame {
|
|||||||
old_name
|
old_name
|
||||||
)
|
)
|
||||||
});
|
});
|
||||||
self.data.insert(new_name.clone(), column);
|
let new_name_clone = new_name.clone();
|
||||||
|
self.data.insert(new_name, column);
|
||||||
if let Some(pos) = self.column_names.iter().position(|n| n == old_name) {
|
if let Some(pos) = self.column_names.iter().position(|n| n == old_name) {
|
||||||
self.column_names[pos] = new_name;
|
self.column_names[pos] = new_name_clone.clone();
|
||||||
|
}
|
||||||
|
|
||||||
|
// rename the column in the underlying Frame as well
|
||||||
|
if let Some(col) = self.data.get_mut(&new_name_clone) {
|
||||||
|
match col {
|
||||||
|
DataFrameColumn::F64(frame) => {
|
||||||
|
frame.rename(old_name, new_name_clone.clone());
|
||||||
|
}
|
||||||
|
DataFrameColumn::I64(frame) => {
|
||||||
|
frame.rename(old_name, new_name_clone.clone());
|
||||||
|
}
|
||||||
|
DataFrameColumn::String(frame) => {
|
||||||
|
frame.rename(old_name, new_name_clone.clone());
|
||||||
|
}
|
||||||
|
DataFrameColumn::Bool(frame) => {
|
||||||
|
frame.rename(old_name, new_name_clone.clone());
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user