Reputation: 668
How do I get the dataframe to interpret types in the construtor? As of now, it keeps everything as "object"
Here is my code right now:
arr = list(range(120)) + [21]*100
cat = ["A"]*20 + ["B"]*40 + ["C", "D"] * 20 + ["E", "F" ,"G"] * 30
df = pd.DataFrame([arr]*3 + [cat], index = ["a1", "a2", "a3", "cat"]).T
print(df.a1.dtype.name)
print(df.a3.dtype.name)
print(df.cat.dtype.name)
object
object
object
Upvotes: 0
Views: 271
Reputation: 348
Try this:
np_array = np.array([arr]*3 + [cat])
dict = {"a1":np_array[0], "a2":np_array[1], "a3":np_array[2]}
df = pd.concat([pd.DataFrame({"cat":np_array[3]}), pd.DataFrame(dict, dtype = 'int64')], names = ["a1", "a2", "a3", "cat"], axis = 1)
Upvotes: 1