MCPcopy Index your code
hub / github.com/javascriptdata/danfojs / dropNa

Method dropNa

src/danfojs-base/core/frame.ts:1833–1908  ·  view source on GitHub ↗
(options?: { axis: 0 | 1, inplace?: boolean })

Source from the content-addressed store, hash-verified

1831 */
1832 dropNa(options?: { axis: 0 | 1, inplace?: boolean }): DataFrame
1833 dropNa(options?: { axis: 0 | 1, inplace?: boolean }): DataFrame | void {
1834 const { axis, inplace } = { axis: 1, inplace: false, ...options }
1835
1836 if ([0, 1].indexOf(axis) === -1) {
1837 throw Error("ParamError: Axis must be 0 or 1");
1838 }
1839
1840 const newIndex: Array<number | string> = [];
1841
1842 if (axis == 1) {
1843 const newData = [];
1844
1845 const dfValues = this.values as ArrayType2D;
1846 for (let i = 0; i < dfValues.length; i++) {
1847 const values: ArrayType1D = dfValues[i];
1848 //@ts-ignore
1849 if (!values.includes(NaN) && !values.includes(undefined) && !values.includes(null)) {
1850 newData.push(values);
1851 newIndex.push(this.index[i])
1852 }
1853 }
1854
1855 if (inplace) {
1856 this.$setValues(newData, false)
1857 this.$setIndex(newIndex)
1858 } else {
1859 return new DataFrame(
1860 newData,
1861 {
1862 index: newIndex,
1863 columns: [...this.columns],
1864 dtypes: [...this.dtypes],
1865 config: { ...this.config }
1866 })
1867 }
1868
1869 } else {
1870 const newColumnNames = []
1871 const newDtypes = []
1872 let dfValues: ArrayType2D = []
1873
1874 if (this.config.isLowMemoryMode) {
1875 dfValues = utils.transposeArray(this.values) as ArrayType2D
1876 } else {
1877 dfValues = this.$dataIncolumnFormat as ArrayType2D
1878 }
1879 const tempColArr = []
1880
1881 for (let i = 0; i < dfValues.length; i++) {
1882 const values: ArrayType1D = dfValues[i];
1883 if (!values.includes(NaN)) {
1884 tempColArr.push(values);
1885 newColumnNames.push(this.columns[i])
1886 newDtypes.push(this.dtypes[i])
1887 }
1888 }
1889
1890 const newData = utils.transposeArray(tempColArr) as ArrayType2D

Callers

nothing calls this directly

Calls 7

indexOfMethod · 0.80
includesMethod · 0.80
$setValuesMethod · 0.80
transposeArrayMethod · 0.80
$setIndexMethod · 0.65
$setColumnNamesMethod · 0.65
$setDtypesMethod · 0.65

Tested by

no test coverage detected