Tôi có một khung dữ liệu với các phím alpha-số mà tôi muốn lưu dưới dạng csv và đọc lại sau. Vì nhiều lý do tôi cần đọc một cách rõ ràng cột khóa này dưới dạng định dạng chuỗi, tôi có các khóa hoàn toàn số hoặc thậm chí tệ hơn, những thứ như: 1234E5 mà Pandas giải thích là phao. Điều này rõ ràng làm cho chìa khóa hoàn toàn vô dụng.Pandas đọc csv dưới dạng chuỗi
Vấn đề là khi tôi chỉ định chuỗi ký tự cho khung dữ liệu hoặc bất kỳ cột nào của nó, tôi chỉ lấy lại rác. Tôi có một số mã ví dụ ở đây:
df = pd.DataFrame(np.random.rand(2,2),
index=['1A', '1B'],
columns=['A', 'B'])
df.to_csv(savefile)
Khung dữ liệu trông giống như:
A B
1A 0.209059 0.275554
1B 0.742666 0.721165
Sau đó, tôi đọc nó như vậy:
df_read = pd.read_csv(savefile, dtype=str, index_col=0)
và kết quả là:
A B
B ( <
Đây có phải là vấn đề với tính toán của tôi không r, hoặc một cái gì đó tôi đang làm sai ở đây, hoặc chỉ là một lỗi?
Tôi nghĩ rằng '' read_csv'' nên a) tăng trên dtype đã chuyển không hợp lệ và b) chỉ dịch '' str'' dtype thành '' object'', mở một sự cố? – Jeff
https://github.com/pydata/pandas/issues/3795 –
Cảm ơn bạn, tôi sẽ thử điều đó. Tôi đã đề cập đến tôi không thể chỉ đọc nó mà không xác định một loại, Pandas tiếp tục lấy các phím số mà tôi cần phải là chuỗi và phân tích chúng như là phao. Giống như tôi đã nói trong ví dụ một chìa khóa như: 1234E5 được lấy là: 1234.0x10^5, điều này không giúp tôi chút nào khi tôi đi tìm nó. – daver