8000 Fix issue with addIndexColumn in DataFrame.LoadCsv (#6769) · dotnet/machinelearning@39235a7 · GitHub
[go: up one dir, main page]

Skip to content

Commit 39235a7

Browse files
authored
Fix issue with addIndexColumn in DataFrame.LoadCsv (#6769)
* Fix issue with addIndexColumn in DataFrame.LoadCsv * Fix tests
1 parent 43a6a81 commit 39235a7

File tree

2 files changed

+16
-4
lines changed

2 files changed

+16
-4
lines changed

src/Microsoft.Data.Analysis/DataFrame.IO.cs

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -439,14 +439,13 @@ private static DataFrame ReadCsvLinesIntoDataFrame(WrappedStreamReaderOrStringRe
439439

440440
if (addIndexColumn)
441441
{
442-
PrimitiveDataFrameColumn<int> indexColumn = new PrimitiveDataFrameColumn<int>("IndexColumn", columns[0].Length);
443-
for (int i = 0; i < columns[0].Length; i++)
442+
Int64DataFrameColumn indexColumn = new Int64DataFrameColumn("IndexColumn", columns[0].Length);
443+
for (long i = 0; i < columns[0].Length; i++)
444444
{
445445
indexColumn[i] = i;
446446
}
447-
columns.Insert(0, indexColumn);
447+
ret.Columns.Insert(0, indexColumn);
448448
}
449-
450449
}
451450

452451
return ret;

test/Microsoft.Data.Analysis.Tests/DataFrame.IOTests.cs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -622,6 +622,19 @@ public void TestReadCsvWithRepeatColumnNameInHeader()
622622
Assert.Matches(@"DataFrame already contains a column called Column( \(Parameter 'column'\)|\r\nParameter name: column)", exp.Message);
623623
}
624624

625+
[Fact]
626+
public void TestLoadCsvWithAddIndexColumn()
627+
{
628+
var dataFrame = DataFrame.LoadCsvFromString("11\r\n22\r\n33", header: false, addIndexColumn: true);
629+
630+
Assert.Equal(2, dataFrame.Columns.Count);
631+
Assert.Equal("IndexColumn", dataFrame.Columns[0].Name);
632+
Assert.Equal(3, dataFrame.Columns[0].Length);
633+
634+
for (long i = 0; i < dataFrame.Columns[0].Length; i++)
635+
Assert.Equal(i, dataFrame.Columns[0][i]);
636+
}
637+
625638
[Fact]
626639
public void TestReadCsvWithExtraColumnInRow()
627640
{

0 commit comments

Comments
 (0)
0