| 价格|
| - ------|
| 145加元|
| + 二十二块三四|
| 来自美国|
嗨,这是我上面的df,我基本上想删除所有的特殊字符($,+和空格),然后我想移动它们,使它们看起来像下面的表作为整数,这样我就可以处理成CSV和分析超过50行的价格。
| 价格|装运|起源|
| - ------|- ------|- ------|
| 一百四十五|二十二点三四分|来自美国|
我在想也许我需要把它放在一个数据框里,然后用一个iloc把它移过来?
Apples=["$ 145", "+ 22.34", "From USA"]
df=pd.DataFrame({'Price': Apples})
new_df=pd.DataFrame({'Price':df['Price'].iloc[::2].values, 'Shipping':df2['Price'].iloc[1::2].values})
在这一点上,它需要的价格和航运,但它只转移到两列,我只需要它是为3做的。我如何才能使它进入列一样,在新的表上面,也剥离列"价格"和"航运"与所有的字符串,也许像这样的东西,但复制它的列价格和航运?谢谢你的任何帮助,我刚刚开始在Pandas和Python真的!
new_df['Price']=new_df.Price.str.extract(r'(\d+[.\d]*)')
3条答案
按热度按时间xxe27gdn1#
将方向从垂直更改为水平可以使用转置来完成:
然后,您可以根据需要处理每一列以将字符串转换为整型或浮点型:
即使您的初始输入包含多个列,例如:
7fhtutme2#
因此,您的数据如下所示:
price, shipping, origin, price, shipping, origin, price...
?在这种情况下,您可以使用如下语法每隔3行提取一次:..然后将它们连接起来,并应用上述数字提取。
一个一个一个一个一个x一个一个二个一个x一个一个三个一个x一个一个x一个四个一个
insrf1ej3#
另一种可能的解决方案:
输出:
输入: