简体   繁体   English

dataframe 变换 pandas dataframe

[英]dataframe transformation of pandas dataframe

I want to manipulate the dataframe element into the data type of the element.我想将 dataframe 元素操作为元素的数据类型。 the example below dataframe.下面的示例 dataframe。

A      B         C           D
1      2       12-03-2010   1
45     acxz    3-02-2010    3
43     2.9     14-08-2010   4
45.3   3.5     23-09-2019   2.46
nan    34.23   09-09-2020   09-02-2015
45     nan     sam          10-09-2016
24     45.23   02-03-2021   wax
xyz    32      raz          na

Transform this dataframe into below dataframe.将此 dataframe 转换为下面的 dataframe。

A        B         C         D
int     int     datetime    int
int     string  datetime    int
int     float   datetime    int
float   float   datetime    float
string  float   datetime    datetime
int     string  string      datetime
int     float   datetime    string
string  int     string      string

can anyone suggest me any way to achieve the below dataframe from the above data using pandas.谁能建议我使用 pandas 从上述数据中实现以下 dataframe 的任何方法。

Use DataFrame.applymap by types, convert to strings and last use replace :按类型使用DataFrame.applymap ,转换为字符串并最后使用replace

df = pd.DataFrame({
    "a": [1, 0.01, 'aaa', pd.to_datetime('2015-01-01')],
    "b": ['yy', pd.to_datetime('2015-01-01'), 1, 0]
   
})

d = {"<class 'pandas._libs.tslibs.timestamps.Timestamp'>":'datetime',
     "<class 'int'>":'int',
     "<class 'float'>":'float',
     "<class 'str'>":'string'}
df = df.applymap(type).astype(str).replace(d)
print (df)
          a         b
0       int    string
1     float  datetime
2    string       int
3  datetime       int

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM