Tôi đã đọc một tệp dữ liệu được phân phối theo tab trong Windows với gấu trúc/python mà không có bất kỳ vấn đề nào. Tệp dữ liệu chứa ghi chú trong ba dòng đầu tiên và sau đó theo tiêu đề.
df = pd.read_csv[myfile,sep='\t',skiprows=[0,1,2],header=[0]]
Bây giờ tôi đang cố đọc tệp này với máy Mac của mình. [Lần đầu tiên tôi sử dụng Python trên Mac.] Tôi gặp lỗi sau.
pandas.parser.CParserError: Error tokenizing data. C error: Expected 1
fields in line 8, saw 39
Nếu đặt đối số ERROR_BAD_LINES cho read_csv thành sai, tôi sẽ nhận được thông tin sau, tiếp tục cho đến khi kết thúc hàng cuối cùng.
Skipping line 8: expected 1 fields, saw 39
Skipping line 9: expected 1 fields, saw 125
Skipping line 10: expected 1 fields, saw 125
Skipping line 11: expected 1 fields, saw 125
Skipping line 12: expected 1 fields, saw 125
Skipping line 13: expected 1 fields, saw 125
Skipping line 14: expected 1 fields, saw 125
Skipping line 15: expected 1 fields, saw 125
Skipping line 16: expected 1 fields, saw 125
Skipping line 17: expected 1 fields, saw 125
...
Tôi có cần chỉ định một giá trị cho đối số mã hóa không? Có vẻ như tôi không nên làm vì đọc tệp hoạt động tốt trên Windows.
Bước 2: Áp dụng mã Python. ....
Bước 3: Chạy mã. ....
Bước tùy chọn: Chọn tập hợp con của các cột ..
thực đơn
Tìm kiếm toc more_vertCreating DataFrames Cookbook
Cảm ơn vì cảm ơn!
keyboard_voice
thực đơn
Tìm kiếm toc more_vert
Cảm ơn vì cảm ơn!
"Creating a table in MySQL"
gần"@append"
Chevron_left Tạo cuốn sách nấu ăn DataFrames"!dataframe"
Tìm kiếm"#python"
Mẹo tìm kiếm
Tìm kiếm một công thức: "Tạo bảng trong MySQL" to open search panel
Tìm kiếm tài liệu API: "@Append" to close search panel
Tìm kiếm mã: "! DataFrame"↓ to navigate between search results
Áp dụng bộ lọc thẻ: "#Python"d to clear all current filters
Phím tắt hữu íchEnter to expand content preview
/ để mở bảng tìm kiếm
ESC đến bảng tìm kiếm gầnBeta
↑ Để điều hướng giữa các kết quả tìm kiếm
⌘d để xóa tất cả các bộ lọc hiện tại
⌘enter để mở rộng xem trước nội dung
Mã tìm kiếm beta
Tìm kiếm toc more_vertCreating DataFrames Cookbook
Cảm ơn vì cảm ơn!
chevron_right
gần
chevron_right
Chevron_left Tạo cuốn sách nấu ăn DataFrames
chevron_right
Tìm kiếm
Mẹo tìm kiếmJul 1, 2022
Tìm kiếm một công thức: "Tạo bảng trong MySQL"
Tìm kiếm tài liệu API: "@Append" Python●Pandas
Tìm kiếm mã: "! DataFrame"
Áp dụng bộ lọc thẻ: "#Python"
expand_more
Phím tắt hữu ích
pandas.parser.CParserError: Error tokenizing data. C error: Expected 1
fields in line 8, saw 39
0pandas.parser.CParserError: Error tokenizing data. C error: Expected 1
fields in line 8, saw 39
1pandas.parser.CParserError: Error tokenizing data. C error: Expected 1
fields in line 8, saw 39
2/ để mở bảng tìm kiếm
pandas.parser.CParserError: Error tokenizing data. C error: Expected 1
fields in line 8, saw 39
0pandas.parser.CParserError: Error tokenizing data. C error: Expected 1
fields in line 8, saw 39
5pandas.parser.CParserError: Error tokenizing data. C error: Expected 1
fields in line 8, saw 39
2
ESC đến bảng tìm kiếm gần↑ Để điều hướng giữa các kết quả tìm kiếm
⌘d để xóa tất cả các bộ lọc hiện tại
⌘enter để mở rộng xem trước nội dung
Tìm kiếm tài liệu
Mã tìm kiếm beta/ to insta-search docs and recipes!
Tổng quan
Giảng dạy: 15 phút Bài tập: 5 phút 15 min
Exercises: 5 minCâu hỏi
Pandas là gì?
Làm cách nào để đọc các tệp bằng gấu trúc?
Sự khác biệt giữa việc đọc các tệp sử dụng gấu trúc và các phương thức đọc tệp khác là gì?
Mục tiêu
Giải thích mô -đun là gì và cách chúng được sử dụng trong Python
Mô tả Thư viện phân tích dữ liệu Python [PANDAS] là gì
Tải Thư viện phân tích dữ liệu Python [PANDAS]
Sử dụng read_csv để đọc dữ liệu bảng vào python
Pandas là gì?
Làm cách nào để đọc các tệp bằng gấu trúc?
Sự khác biệt giữa việc đọc các tệp sử dụng gấu trúc và các phương thức đọc tệp khác là gì?
Mục tiêu
- Giải thích mô -đun là gì và cách chúng được sử dụng trong Python
- Mô tả Thư viện phân tích dữ liệu Python [PANDAS] là gì
- Tải Thư viện phân tích dữ liệu Python [PANDAS]
- Sử dụng read_csv để đọc dữ liệu bảng vào python
- Pandas là một thư viện Python chứa một tập hợp các chức năng và cấu trúc dữ liệu chuyên dụng đã được thiết kế để giúp các lập trình viên Python thực hiện các tác vụ phân tích dữ liệu theo cách có cấu trúc.
- Hầu hết những điều mà gấu trúc có thể làm có thể được thực hiện với Python cơ bản, nhưng tập hợp các hàm gấu trúc và cấu trúc dữ liệu được thu thập làm cho các tác vụ phân tích dữ liệu phù hợp hơn về mặt cú pháp và do đó hỗ trợ cho khả năng đọc.
- Các tính năng đặc biệt của gấu trúc mà chúng ta sẽ xem xét về điều này và một vài tập tiếp theo bao gồm:
Đọc dữ liệu được lưu trữ trong các tệp CSV [các định dạng tệp khác cũng có thể được đọc]
Cắt và tập hợp dữ liệu trong DataFrames [Bảng!]
Xử lý dữ liệu bị thiếu
Định hình lại dữ liệu [dài -> rộng, rộng -> dài]
Chèn và xóa các cột khỏi cấu trúc dữ liệu
Tổng hợp dữ liệu bằng cách sử dụng các cơ sở nhóm dữ liệu bằng cách sử dụng mô hình-bombine phân chia
Tham gia bộ dữ liệu [sau khi chúng được tải vào DataFrames]
Nếu bạn đang tự hỏi tại sao tôi viết gấu trúc với chữ thường ‘P, thì đó là tên của gói và Python là trường hợp nhạy cảm.
Nhập thư viện Pandas
Nhập thư viện Pandas được thực hiện theo cách chính xác giống như đối với bất kỳ thư viện nào khác. Trong hầu hết các ví dụ về mã Python sử dụng thư viện Pandas, nó sẽ được nhập và đưa ra bí danh là
pandas.parser.CParserError: Error tokenizing data. C error: Expected 1
fields in line 8, saw 39
7. Chúng tôi sẽ tuân theo cùng một quy ước.Cấu trúc dữ liệu gấu trúc
Đối với các ví dụ của chúng tôi trong tập này, chúng tôi sẽ sử dụng tệp SN7577.TAB. Điều này có sẵn để tải xuống tại đây và mô tả của tệp có sẵn tại đây
Chúng tôi sẽ đọc trong tệp SN7577.TAB của chúng tôi. Mặc dù đây là tệp được phân định tab, chúng tôi vẫn sẽ sử dụng phương thức Pandas
pandas.parser.CParserError: Error tokenizing data. C error: Expected 1
fields in line 8, saw 39
8, nhưng chúng tôi sẽ nói rõ phương thức rằng dấu phân cách là ký tự tab chứ không phải dấu phẩy mặc định.df_SN7577 = pd.read_csv["SN7577.tab", sep='\t']
Tập thể dục
Điều gì xảy ra nếu bạn quên chỉ định
9 khi đọc bộ dữ liệu được phân định tabpandas.parser.CParserError: Error tokenizing data. C error: Expected 1 fields in line 8, saw 39
Dung dịch
df_SN7577_oops = pd.read_csv["SN7577.tab"] print[df_SN7577_oops.shape] print[df_SN7577_oops]
Nếu bạn cho phép gấu trúc giả định rằng các cột của bạn được phân tách bằng dấu phẩy [mặc định] và có không, thì mỗi bản ghi sẽ được coi là một cột duy nhất. Vì vậy, hình dạng được cho là 1286 hàng [đúng] nhưng chỉ có một cột. Khi nội dung được hiển thị, tên cột duy nhất là bản ghi đầu tiên hoàn chỉnh. Lưu ý
0 được sử dụng để biểu thị các ký tự tab trong đầu ra. Đây là cùng một định dạng chúng tôi đã sử dụng để chỉ định bộ phân tách tab khi chúng tôi đọc chính xác trong tệp.Skipping line 8: expected 1 fields, saw 39 Skipping line 9: expected 1 fields, saw 125 Skipping line 10: expected 1 fields, saw 125 Skipping line 11: expected 1 fields, saw 125 Skipping line 12: expected 1 fields, saw 125 Skipping line 13: expected 1 fields, saw 125 Skipping line 14: expected 1 fields, saw 125 Skipping line 15: expected 1 fields, saw 125 Skipping line 16: expected 1 fields, saw 125 Skipping line 17: expected 1 fields, saw 125 ...
Nhận thông tin về DataFrame
Bạn có thể tìm ra loại biến
Skipping line 8: expected 1 fields, saw 39
Skipping line 9: expected 1 fields, saw 125
Skipping line 10: expected 1 fields, saw 125
Skipping line 11: expected 1 fields, saw 125
Skipping line 12: expected 1 fields, saw 125
Skipping line 13: expected 1 fields, saw 125
Skipping line 14: expected 1 fields, saw 125
Skipping line 15: expected 1 fields, saw 125
Skipping line 16: expected 1 fields, saw 125
Skipping line 17: expected 1 fields, saw 125
...
1 bằng cách sử dụng hàm Skipping line 8: expected 1 fields, saw 39
Skipping line 9: expected 1 fields, saw 125
Skipping line 10: expected 1 fields, saw 125
Skipping line 11: expected 1 fields, saw 125
Skipping line 12: expected 1 fields, saw 125
Skipping line 13: expected 1 fields, saw 125
Skipping line 14: expected 1 fields, saw 125
Skipping line 15: expected 1 fields, saw 125
Skipping line 16: expected 1 fields, saw 125
Skipping line 17: expected 1 fields, saw 125
...
2.
Bạn có thể thấy nội dung bằng cách nhập tên biến. Bạn có thể thấy từ đầu ra rằng nó là một định dạng bảng. Các tên cột đã được lấy từ bản ghi đầu tiên của tệp. Ở phía bên trái là một cột không có tên. Các mục ở đây đã được cung cấp bởi gấu trúc và hoạt động như một chỉ mục để tham chiếu các hàng riêng lẻ của DataFrame.
Hàm
Skipping line 8: expected 1 fields, saw 39
Skipping line 9: expected 1 fields, saw 125
Skipping line 10: expected 1 fields, saw 125
Skipping line 11: expected 1 fields, saw 125
Skipping line 12: expected 1 fields, saw 125
Skipping line 13: expected 1 fields, saw 125
Skipping line 14: expected 1 fields, saw 125
Skipping line 15: expected 1 fields, saw 125
Skipping line 16: expected 1 fields, saw 125
Skipping line 17: expected 1 fields, saw 125
...
3 có tham số Skipping line 8: expected 1 fields, saw 39
Skipping line 9: expected 1 fields, saw 125
Skipping line 10: expected 1 fields, saw 125
Skipping line 11: expected 1 fields, saw 125
Skipping line 12: expected 1 fields, saw 125
Skipping line 13: expected 1 fields, saw 125
Skipping line 14: expected 1 fields, saw 125
Skipping line 15: expected 1 fields, saw 125
Skipping line 16: expected 1 fields, saw 125
Skipping line 17: expected 1 fields, saw 125
...
4 mà bạn có thể sử dụng để cho biết các cột nào trong tệp bạn muốn sử dụng làm chỉ mục thay thế. Vì bộ dữ liệu SN7577 không có một cột xác định duy nhất mỗi hàng chúng tôi không thể làm điều đó.Một điều khác cần chú ý về màn hình là nó bị cắt ngắn. Theo mặc định, bạn sẽ thấy 30 hàng đầu tiên và cuối cùng. Đối với các cột, bạn sẽ luôn nhận được một vài cột đầu tiên và điển hình là một vài cột cuối cùng tùy thuộc vào không gian hiển thị.
Thông tin tương tự có thể thu được với
Skipping line 8: expected 1 fields, saw 39
Skipping line 9: expected 1 fields, saw 125
Skipping line 10: expected 1 fields, saw 125
Skipping line 11: expected 1 fields, saw 125
Skipping line 12: expected 1 fields, saw 125
Skipping line 13: expected 1 fields, saw 125
Skipping line 14: expected 1 fields, saw 125
Skipping line 15: expected 1 fields, saw 125
Skipping line 16: expected 1 fields, saw 125
Skipping line 17: expected 1 fields, saw 125
...
5 nhưng ở đây bạn chỉ được trả lại 5 hàng đầu tiên theo mặc định.Tập thể dục
- Điều gì xảy ra nếu bạn quên chỉ định
9 khi đọc bộ dữ liệu được phân định tabpandas.parser.CParserError: Error tokenizing data. C error: Expected 1 fields in line 8, saw 39
- Dung dịch
Nếu bạn cho phép gấu trúc giả định rằng các cột của bạn được phân tách bằng dấu phẩy [mặc định] và có không, thì mỗi bản ghi sẽ được coi là một cột duy nhất. Vì vậy, hình dạng được cho là 1286 hàng [đúng] nhưng chỉ có một cột. Khi nội dung được hiển thị, tên cột duy nhất là bản ghi đầu tiên hoàn chỉnh. Lưu ý
Skipping line 8: expected 1 fields, saw 39
Skipping line 9: expected 1 fields, saw 125
Skipping line 10: expected 1 fields, saw 125
Skipping line 11: expected 1 fields, saw 125
Skipping line 12: expected 1 fields, saw 125
Skipping line 13: expected 1 fields, saw 125
Skipping line 14: expected 1 fields, saw 125
Skipping line 15: expected 1 fields, saw 125
Skipping line 16: expected 1 fields, saw 125
Skipping line 17: expected 1 fields, saw 125
...
0 được sử dụng để biểu thị các ký tự tab trong đầu ra. Đây là cùng một định dạng chúng tôi đã sử dụng để chỉ định bộ phân tách tab khi chúng tôi đọc chính xác trong tệp.# How many rows?
print[len[df_SN7577]]
# How many rows and columns - returned as a tuple
print[df_SN7577.shape]
#How many 'cells' in the table
print[df_SN7577.size]
# What are the column names
print[df_SN7577.columns]
# what are the data types of the columns?
print[df_SN7577.dtypes]
1286
[1286, 202]
259772
Index[['Q1', 'Q2', 'Q3', 'Q4', 'Q5ai', 'Q5aii', 'Q5aiii', 'Q5aiv', 'Q5av',
'Q5avi',
...
'numhhd', 'numkid', 'numkid2', 'numkid31', 'numkid32', 'numkid33',
'numkid34', 'numkid35', 'numkid36', 'wts'],
dtype='object', length=202]
Q1 int64
Q2 int64
Q3 int64
...
Length: 202, dtype: object
Tập thể dục
Điều gì xảy ra nếu bạn quên chỉ định
9 khi đọc bộ dữ liệu được phân định tabpandas.parser.CParserError: Error tokenizing data. C error: Expected 1 fields in line 8, saw 39
Dung dịch
for name in df_SN7577.columns: print[name]
Nếu bạn cho phép gấu trúc giả định rằng các cột của bạn được phân tách bằng dấu phẩy [mặc định] và có không, thì mỗi bản ghi sẽ được coi là một cột duy nhất. Vì vậy, hình dạng được cho là 1286 hàng [đúng] nhưng chỉ có một cột. Khi nội dung được hiển thị, tên cột duy nhất là bản ghi đầu tiên hoàn chỉnh. Lưu ý
0 được sử dụng để biểu thị các ký tự tab trong đầu ra. Đây là cùng một định dạng chúng tôi đã sử dụng để chỉ định bộ phân tách tab khi chúng tôi đọc chính xác trong tệp.Skipping line 8: expected 1 fields, saw 39 Skipping line 9: expected 1 fields, saw 125 Skipping line 10: expected 1 fields, saw 125 Skipping line 11: expected 1 fields, saw 125 Skipping line 12: expected 1 fields, saw 125 Skipping line 13: expected 1 fields, saw 125 Skipping line 14: expected 1 fields, saw 125 Skipping line 15: expected 1 fields, saw 125 Skipping line 16: expected 1 fields, saw 125 Skipping line 17: expected 1 fields, saw 125 ...
Nhận thông tin về DataFrame
Bạn có thể tìm ra loại biến
1 bằng cách sử dụng hàmSkipping line 8: expected 1 fields, saw 39 Skipping line 9: expected 1 fields, saw 125 Skipping line 10: expected 1 fields, saw 125 Skipping line 11: expected 1 fields, saw 125 Skipping line 12: expected 1 fields, saw 125 Skipping line 13: expected 1 fields, saw 125 Skipping line 14: expected 1 fields, saw 125 Skipping line 15: expected 1 fields, saw 125 Skipping line 16: expected 1 fields, saw 125 Skipping line 17: expected 1 fields, saw 125 ...
2.Skipping line 8: expected 1 fields, saw 39 Skipping line 9: expected 1 fields, saw 125 Skipping line 10: expected 1 fields, saw 125 Skipping line 11: expected 1 fields, saw 125 Skipping line 12: expected 1 fields, saw 125 Skipping line 13: expected 1 fields, saw 125 Skipping line 14: expected 1 fields, saw 125 Skipping line 15: expected 1 fields, saw 125 Skipping line 16: expected 1 fields, saw 125 Skipping line 17: expected 1 fields, saw 125 ...
Bạn có thể thấy nội dung bằng cách nhập tên biến. Bạn có thể thấy từ đầu ra rằng nó là một định dạng bảng. Các tên cột đã được lấy từ bản ghi đầu tiên của tệp. Ở phía bên trái là một cột không có tên. Các mục ở đây đã được cung cấp bởi gấu trúc và hoạt động như một chỉ mục để tham chiếu các hàng riêng lẻ của DataFrame.