Tôi đang nhập tệp CSV từ AWS S3 trong AWS LambDawith bên dưới mã:
file = s3.get_object[Bucket = bucket, Key = key]
rows = file['Body'].read[].decode['utf-8'].splitlines[False]
Tôi đang nhận được đầu vào ở định dạng dưới đây:
data = "a, b, c, d, \" x, y \ ", e, f"
Và tôi muốn đầu ra ở định dạng dưới đây:
>>>`>>> df
0 1 2 3 4 5 6
0 a b c d x,y e f`
Tôi phải phân chia dữ liệu dựa trên ',' nhưng nếu một số thong nằm giữa "" chúng nên vẫn như vậy.
Hoặc nếu bạn có bất kỳ giải pháp nào khác cho tệp CSV nhập từ S3 sang Lambda và chuyển đổi trong khung dữ liệu, vui lòng đề xuất
Astype ở Python là gì?
Phương thức ASTYPE [] trả về một khung dữ liệu mới trong đó các loại dữ liệu đã được thay đổi thành loại được chỉ định. Bạn có thể chuyển toàn bộ khung dữ liệu vào một loại dữ liệu cụ thể hoặc bạn có thể sử dụng từ điển Python để chỉ định một loại dữ liệu cho mỗi cột, như thế này: {'thời lượng': 'int64', 'xung': 'float', 'calo ':' int64 '}
Xem thảo luận
Astype ở Python là gì?
Phương thức ASTYPE [] trả về một khung dữ liệu mới trong đó các loại dữ liệu đã được thay đổi thành loại được chỉ định. Bạn có thể chuyển toàn bộ khung dữ liệu vào một loại dữ liệu cụ thể hoặc bạn có thể sử dụng từ điển Python để chỉ định một loại dữ liệu cho mỗi cột, như thế này: {'thời lượng': 'int64', 'xung': 'float', 'calo ':' int64 '}
Xem thảo luận
Cải thiện bài viết
Lưu bài viết
Đọc
Python3
Bàn luận
Như chúng ta biết rằng dữ liệu có tất cả các hình dạng và kích thước. Chúng thường đến từ nhiều nguồn khác nhau có các định dạng khác nhau. Chúng tôi có một số dữ liệu có mặt ở định dạng chuỗi và thảo luận về các cách để tải dữ liệu đó vào Pandas DataFrame.
Phương pháp 1: Tạo gấu trúc DataFrame từ một chuỗi bằng StringIO [] & NBSP;
>>>`>>> df
0 1 2 3 4 5 6
0 a b c d x,y e f`
4>>>`>>> df
0 1 2 3 4 5 6
0 a b c d x,y e f`
5Một cách để đạt được điều này là bằng cách sử dụng hàm Stringio []. Nó sẽ hoạt động như một trình bao bọc và nó sẽ giúp chúng tôi đọc dữ liệu bằng hàm pd.read_csv []. & Nbsp;
import pandas as pd import io df = pd.read_csv[io.StringIO[string_data], sep=","]2
import pandas as pd import io df = pd.read_csv[io.StringIO[string_data], sep=","]3
Đầu ra:
import
pandas as pd
from
io
import
>>>`>>> df
0 1 2 3 4 5 6
0 a b c d x,y e f`
0Python3
Bàn luận
>>>`>>> df
0 1 2 3 4 5 6
0 a b c d x,y e f`
1>>>`>>> df
0 1 2 3 4 5 6
0 a b c d x,y e f`
2Như chúng ta biết rằng dữ liệu có tất cả các hình dạng và kích thước. Chúng thường đến từ nhiều nguồn khác nhau có các định dạng khác nhau. Chúng tôi có một số dữ liệu có mặt ở định dạng chuỗi và thảo luận về các cách để tải dữ liệu đó vào Pandas DataFrame.
import pandas as pd import io df = pd.read_csv[io.StringIO[string_data], sep=","]2
import pandas as pd import io df = pd.read_csv[io.StringIO[string_data], sep=","]3
Đầu ra:
Astype ở Python là gì?
import pandas as pd import io df = pd.read_csv[io.StringIO[string_data], sep=","]
Phương thức ASTYPE [] trả về một khung dữ liệu mới trong đó các loại dữ liệu đã được thay đổi thành loại được chỉ định. Bạn có thể chuyển toàn bộ khung dữ liệu vào một loại dữ liệu cụ thể hoặc bạn có thể sử dụng từ điển Python để chỉ định một loại dữ liệu cho mỗi cột, như thế này: {'thời lượng': 'int64', 'xung': 'float', 'calo ':' int64 '}string_data.
Bạn có thể sử dụng cú pháp cơ bản sau đây để tạo GANDAS DATAFRAME từ chuỗi:
Cú pháp cụ thể này tạo ra một gấu dữ liệu pandas bằng cách sử dụng các giá trị có trong chuỗi có tên String_Data.
Mã sau đây cho thấy cách tạo một khung dữ liệu gấu trúc từ một chuỗi trong đó các giá trị trong chuỗi được phân tách bằng dấu phẩy:
import pandas as pd import io #define string string_data="""points, assists, rebounds 5, 15, 22 7, 12, 9 4, 3, 18 2, 5, 10 3, 11, 5 """ #create pandas DataFrame from string df = pd.read_csv[io.StringIO[string_data], sep=","] #view DataFrame print[df] points assists rebounds 0 5 15 22 1 7 12 9 2 4 3 18 3 2 5 10 4 3 11 5
Kết quả là một khung dữ liệu gấu trúc với năm hàng và ba cột.
Ví dụ 2: Tạo DataFrame từ Chuỗi với dấu phân cách dấu chấm phẩy
Mã sau đây cho thấy cách tạo GANDAS DATAFRAME từ một chuỗi trong đó các giá trị trong chuỗi được phân tách bằng dấu chấm phẩy:
import pandas as pd import io #define string string_data="""points;assists;rebounds 5;15;22 7;12;9 4;3;18 2;5;10 3;11;5 """ #create pandas DataFrame from string df = pd.read_csv[io.StringIO[string_data], sep=";"] #view DataFrame print[df] points assists rebounds 0 5 15 22 1 7 12 9 2 4 3 18 3 2 5 10 4 3 11 5
Kết quả là một khung dữ liệu gấu trúc với năm hàng và ba cột.
Ví dụ 2: Tạo DataFrame từ Chuỗi với dấu phân cách dấu chấm phẩysep argument within the read_csv[] function to specify the separator.
Mã sau đây cho thấy cách tạo GANDAS DATAFRAME từ một chuỗi trong đó các giá trị trong chuỗi được phân tách bằng dấu chấm phẩy:
Nếu bạn có một chuỗi có một dấu phân cách khác, chỉ cần sử dụng đối số SEP trong hàm read_csv [] để chỉ định dấu phân cách.
Tài nguyên bổ sung
How to Convert Timestamp to Datetime in Pandas
How to Convert Datetime to Date in Pandas