當我將包含前面零的列 int 數字的檔案讀入資料幀時,會洗掉零。我怎樣才能防止這種情況?
例子:
檔案:“ test.txt”有以下內容:
one two three
a 025700 's'
b 005930 7
cc 125945 hi
ddd 000003 9.0
現在我將它讀入資料框:
import pandas as pd
filename = "test.txt"
df = pd.read_table(filename, sep=" ")
輸出是:
print(df)
one two three
0 a 25700 's'
1 b 5930 7
2 cc 125945 hi
3 ddd 3 9.0
我希望資料框第二列的內容與檔案中的內容相同:
one two three
0 a 025700 's'
1 b 005930 7
2 cc 125945 hi
3 ddd 000003 9.0
uj5u.com熱心網友回復:
使用dtype引數:
df = pd.read_table(filename, sep=" ", dtype={'two': str})
print(df)
# Output
one two three
0 a 025700 's'
1 b 005930 7
2 cc 125945 hi
3 ddd 000003 9.0
或者,如果您不希望 Pandas 推斷您的資料型別:
df = pd.read_table(filename, sep=" ", dtype=object)
uj5u.com熱心網友回復:
一種簡單/簡單的方法是將列轉換為 str。
df['two'] = df['two'].astype(str).str.zfill(8)
與上面相同,但自動計算所需的 max_lenght
max_length = df['two'].astype(str).str.len().max()
df['two'] = df['two'].astype(str).str.zfill(max_length)
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/447970.html
