node-pandas 1.0.4 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/.kiro/agents/git-committer-agent.md +208 -0
  2. package/.kiro/agents/npm-publisher-agent.md +501 -0
  3. package/.kiro/publish-status-2.0.0.md +134 -0
  4. package/.kiro/published-versions.md +11 -0
  5. package/.kiro/specs/pandas-like-enhancements/.config.kiro +1 -0
  6. package/.kiro/specs/pandas-like-enhancements/design.md +377 -0
  7. package/.kiro/specs/pandas-like-enhancements/requirements.md +257 -0
  8. package/.kiro/specs/pandas-like-enhancements/tasks.md +477 -0
  9. package/CHANGELOG.md +42 -0
  10. package/README.md +375 -103
  11. package/TESTING_SETUP.md +183 -0
  12. package/jest.config.js +25 -0
  13. package/package.json +11 -3
  14. package/src/bases/CsvBase.js +4 -13
  15. package/src/dataframe/dataframe.js +596 -64
  16. package/src/features/GroupBy.js +561 -0
  17. package/src/features/dateRange.js +106 -0
  18. package/src/index.js +6 -1
  19. package/src/series/series.js +690 -14
  20. package/src/utils/errors.js +314 -0
  21. package/src/utils/getIndicesColumns.js +1 -1
  22. package/src/utils/getTransformedDataList.js +1 -1
  23. package/src/utils/logger.js +259 -0
  24. package/src/utils/typeDetection.js +339 -0
  25. package/src/utils/utils.js +5 -1
  26. package/src/utils/validation.js +450 -0
  27. package/tests/README.md +151 -0
  28. package/tests/integration/.gitkeep +0 -0
  29. package/tests/integration/README.md +3 -0
  30. package/tests/property/.gitkeep +0 -0
  31. package/tests/property/README.md +3 -0
  32. package/tests/setup.js +16 -0
  33. package/tests/test.js +58 -21
  34. package/tests/unit/.gitkeep +0 -0
  35. package/tests/unit/README.md +3 -0
  36. package/tests/unit/dataframe.test.js +1141 -0
  37. package/tests/unit/example.test.js +23 -0
  38. package/tests/unit/series.test.js +441 -0
  39. package/tests/unit/tocsv.test.js +838 -0
  40. package/tests/utils/testAssertions.js +143 -0
  41. package/tests/utils/testDataGenerator.js +123 -0
package/tests/test.js CHANGED
@@ -18,6 +18,7 @@ let dataList = [
18
18
  columns = ['full_name', 'user_id', 'technology']
19
19
  let df = pd.DataFrame(dataList, columns);
20
20
  df.show
21
+ console.log(df)
21
22
  console.log(df.columns)
22
23
  console.log(df.index)
23
24
 
@@ -35,6 +36,7 @@ dataList = [
35
36
  ]
36
37
 
37
38
  let df2 = pd.DataFrame(dataList)
39
+ console.log(df2)
38
40
  df2.show
39
41
  console.log(df2.columns)
40
42
  console.log(df2.index)
@@ -52,6 +54,7 @@ Briella Brown,JavaScirpt developer,JavaScript,8844
52
54
  */
53
55
 
54
56
  df3 = pd.readCsv(path)
57
+ console.log(df3)
55
58
  df3.show
56
59
  /*
57
60
  ┌─────────┬──────────────────────┬────────────────────────┬─────────────────┬───────┐
@@ -72,34 +75,68 @@ df3.toCsv('/Users/hygull/Desktop/try/node-pandas.csv')
72
75
 
73
76
  console.log(df3['fullName'])
74
77
  /*
75
- [
76
- 'Ken Thompson',
77
- 'Ron Wilson',
78
- 'Jeff Thomas',
79
- 'Rishikesh Agrawani',
80
- 'Kylie Dwine',
81
- 'Briella Brown'
78
+ NodeSeries [
79
+ 'Ken Thompson',
80
+ 'Ron Wilson',
81
+ 'Jeff Thomas',
82
+ 'Rishikesh Agrawani',
83
+ 'Kylie Dwine',
84
+ 'Briella Brown'
82
85
  ]
83
86
  */
84
87
 
85
- console.log(df3.Language)
88
+ console.log(df3.DevId)
89
+ /*
90
+ NodeSeries [ 1122, 4433, 8899, 6677, 11, 8844 ]
91
+ */
92
+
93
+ let languages = df3.Language
94
+ console.log(languages)
86
95
  /*
87
- [ 'C', 'Ruby', 'Java', 'Python', 'C++ Developer', 'JavaScript' ]
96
+ NodeSeries [
97
+ 'C',
98
+ 'Ruby',
99
+ 'Java',
100
+ 'Python',
101
+ 'C++ Developer',
102
+ 'JavaScript'
103
+ ]
88
104
  */
89
105
 
90
- console.log(df3.Profession)
106
+ console.log(languages[0], '&', languages[1]) // C & Ruby
107
+
108
+
109
+ let professions = df3.Profession
110
+ console.log(professions)
91
111
  /*
92
- [
93
- 'C developer',
94
- 'Ruby developer',
95
- 'Java developer',
96
- 'Python developer',
97
- 'C++',
98
- 'JavaScirpt developer'
112
+ NodeSeries [
113
+ 'C developer',
114
+ 'Ruby developer',
115
+ 'Java developer',
116
+ 'Python developer',
117
+ 'C++',
118
+ 'JavaScirpt developer'
99
119
  ]
100
120
  */
101
121
 
102
- console.log(df3.DevId)
103
- /*
104
- [ 1122, 4433, 8899, 6677, 11, 8844 ]
105
- */
122
+ // Iterate like arrays
123
+ for(let profession of professions) {
124
+ console.log(profession)
125
+ }
126
+ /*
127
+ C developer
128
+ Ruby developer
129
+ Java developer
130
+ Python developer
131
+ C++
132
+ JavaScirpt developer
133
+ */
134
+
135
+ // Update entry
136
+ professions[1] = 'Elon Musk'
137
+
138
+ console.log(professions)
139
+
140
+
141
+ // dateRange() => dateRange(n=1, format="yyyy-mm-dd", sep='-')---
142
+ console.log(pd.dateRange(50, "dd-mm-yyyy", '-', true))
File without changes
@@ -0,0 +1,3 @@
1
+ # Unit Tests
2
+
3
+ Unit tests for individual functions and methods in isolation.