Hướng dẫn can we convert dataframe to string in python? - chúng ta có thể chuyển đổi khung dữ liệu thành chuỗi trong python không?

Tôi đã làm theo quy trình sau: Trong Python, làm cách nào để chuyển đổi tất cả các mục trong danh sách thành phao? Bởi vì mỗi cột trong khung dữ liệu của tôi là list, nhưng thay vì

df = pd.DataFrame([list(range(1000))], index=[0])
0, tôi đã chọn thay đổi tất cả các giá trị thành
df = pd.DataFrame([list(range(1000))], index=[0])
1.

df = pd.DataFrame([list(range(1000))], index=[0])
2

Nhưng điều này đã thất bại.

Nó chỉ đơn giản là xóa tất cả các dữ liệu ngoại trừ hàng đầu tiên của tên cột.

Sau đó, cố gắng

df = pd.DataFrame([list(range(1000))], index=[0])
3 dẫn đến việc thay đổi toàn bộ khung dữ liệu thành một danh sách lớn, nhưng điều đó làm rối dữ liệu quá nhiều để có thể đáp ứng mục tiêu của tập lệnh của tôi là xuất bản dữ liệu vào bảng Oracle của tôi.

Có cách nào để chuyển đổi tất cả các mục trong khung dữ liệu của tôi không phải là chuỗi thành chuỗi không?

Đã hỏi ngày 8 tháng 3 năm 2017 lúc 16:40Mar 8, 2017 at 16:40

Hướng dẫn can we convert dataframe to string in python? - chúng ta có thể chuyển đổi khung dữ liệu thành chuỗi trong python không?

TheProwlerTheProwlertheprowler

2.70810 Huy hiệu vàng25 Huy hiệu bạc37 Huy hiệu đồng10 gold badges25 silver badges37 bronze badges

Bạn có thể sử dụng điều này:

df = df.astype(str)

Vì tò mò, tôi quyết định xem liệu có bất kỳ sự khác biệt nào về hiệu quả giữa giải pháp được chấp nhận và của tôi không.

Kết quả dưới đây:

Ví dụ DF:

df = pd.DataFrame([list(range(1000))], index=[0])

Kiểm tra

df = pd.DataFrame([list(range(1000))], index=[0])
4:

%timeit df.astype(str) 
>> 100 loops, best of 3: 2.18 ms per loop

Kiểm tra

df = pd.DataFrame([list(range(1000))], index=[0])
5:

%timeit df.applymap(str)
1 loops, best of 3: 245 ms per loop

Có vẻ như

df = pd.DataFrame([list(range(1000))], index=[0])
4 khá nhanh hơn rất nhiều :)

Cleb

23.8K18 Huy hiệu vàng108 Huy hiệu bạc145 Huy hiệu đồng18 gold badges108 silver badges145 bronze badges

Đã trả lời ngày 8 tháng 3 năm 2017 lúc 16:45Mar 8, 2017 at 16:45

6

Bạn có thể sử dụng phương thức

df = pd.DataFrame([list(range(1000))], index=[0])
7:

df = df.applymap(str)

Đã trả lời ngày 8 tháng 3 năm 2017 lúc 16:44Mar 8, 2017 at 16:44

Hướng dẫn can we convert dataframe to string in python? - chúng ta có thể chuyển đổi khung dữ liệu thành chuỗi trong python không?

PsidompsidomPsidom

202K27 Huy hiệu vàng315 Huy hiệu bạc338 Huy hiệu đồng27 gold badges315 silver badges338 bronze badges

4

Với Pandas> = 1.0 hiện có một chuỗi dữ liệu chuyên dụng:

Bạn có thể chuyển đổi cột của mình thành kiểu dữ liệu chuỗi pandas này bằng cách sử dụng .Asype ('chuỗi'):string datatype using .astype('string'):

df = df.astype('string')

Điều này khác với việc sử dụng

df = pd.DataFrame([list(range(1000))], index=[0])
8, đặt kiểu dữ liệu 'đối tượng' của Pandas:

df = df.astype(str)

Bạn có thể thấy sự khác biệt trong các kiểu dữ liệu khi bạn xem thông tin của DataFrame:

df = pd.DataFrame({
    'zipcode_str': [90210, 90211] ,
    'zipcode_string': [90210, 90211],
})

df['zipcode_str'] = df['zipcode_str'].astype(str)
df['zipcode_string'] = df['zipcode_str'].astype('string')

df.info()

# you can see that the first column has dtype object
# while the second column has the new dtype string
 #   Column          Non-Null Count  Dtype 
---  ------          --------------  ----- 
 0   zipcode_str     2 non-null      object
 1   zipcode_string  2 non-null      string
dtypes: object(1), string(1)


Từ các tài liệu:

Loại tiện ích mở rộng 'chuỗi' giải quyết một số vấn đề với các mảng numpy đối tượng:

1) Bạn có thể vô tình lưu trữ hỗn hợp các chuỗi và không dây trong một mảng DTYPE đối tượng. Một StringArray chỉ có thể lưu trữ chuỗi.

2) Đối tượng DTYPE BREAKS Các hoạt động dành riêng cho DTYPE như dataFrame.select_dtypes (). Có một cách rõ ràng để chọn chỉ văn bản trong khi loại trừ các cột không phải là văn bản, nhưng vẫn là các cột đối tượng.

3) Khi đọc mã, nội dung của một mảng DTYPE đối tượng không rõ ràng hơn chuỗi.


Thông tin về Pandas 1.0 có thể được tìm thấy ở đây: https://pandas.pydata.org/pandas-docs/version/1.0.0/whatsnew/v1.0.0.html
https://pandas.pydata.org/pandas-docs/version/1.0.0/whatsnew/v1.0.0.html

Đã trả lời ngày 23 tháng 1 năm 2020 lúc 14:58Jan 23, 2020 at 14:58

Hướng dẫn can we convert dataframe to string in python? - chúng ta có thể chuyển đổi khung dữ liệu thành chuỗi trong python không?

1

Điều này làm việc cho tôi:

dt.applymap(lambda x: x[0] if type(x) is list else None)

Đã trả lời ngày 1 tháng 12 năm 2018 lúc 16:18Dec 1, 2018 at 16:18

Hướng dẫn can we convert dataframe to string in python? - chúng ta có thể chuyển đổi khung dữ liệu thành chuỗi trong python không?

Tôi có thể chuyển đổi DataFrame thành Từ điển không?

Phương thức TO_DICT () được sử dụng để chuyển đổi DataFrame thành từ điển của chuỗi hoặc danh sách như kiểu dữ liệu tùy thuộc vào tham số Orient..

Chúng ta có thể chuyển đổi DataFrame thành danh sách trong Python không?

Python3.Đầu ra: Đôi khi, bạn có thể cần chuyển đổi DataFrame của mình thành danh sách.Để thực hiện nhiệm vụ này, hàm 'Tolist ()' có thể được sử dụng.' tolist() ' function can be used.

DataFrame có thể được tạo từ một chuỗi không?

Phương pháp 1: Tạo gấu trúc DataFrame từ một chuỗi bằng StringIO () Mộ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 PD.hàm read_csv ().Create Pandas DataFrame from a string using StringIO() One way to achieve this is by using the StringIO() function. It will act as a wrapper and it will help us to read the data using the pd. read_csv() function.

Chúng ta có thể chuyển đổi DataFrame thành Liệt kê không?

Phần trên cùng của mã, chứa cú pháp để tạo một khung dữ liệu với dữ liệu trên.Phần dưới cùng của mã chuyển đổi DataFrame thành một danh sách bằng cách sử dụng: df.values.tolist ()df. values. tolist()