簡體   English   中英

從字符串中創建一個新的列熊貓。 我需要某種可迭代的嗎?

[英]Make a new column panda from a string. Do I need some kind of iterable?

好的,這可行:

import pandas as pd
import numpy as np

ind = [0,1,2]
d = {'col1' : pd.Series([1, 2, 3, 4], index=['a', 'b', 'c', 'd']), 'col2' : pd.Series([5, 6, 7, 8],  index=['a', 'b', 'c', 'd']), 'col3' : pd.Series([9, 10, 11, 12], index=['a', 'b', 'c', 'd'])}
df = pd.DataFrame(d)
print(df)

給出以下內容:

   col1  col2  col3
a     1     5     9
b     2     6    10
c     3     7    11
d     4     8    12

使用數學添加一列,這可行:

df['new'] = df['col2'] + df['col3']

這使:

   col1  col2  col3  new
a     1     5     9   14
b     2     6    10   16
c     3     7    11   18
d     4     8    12   20

但此操作無效:

df['new2'] = str(df['col3'])

如果給出這個,那很奇怪:

   col1  col2  col3  new                                             new2
a     1     5     9   14  a     9\nb    10\nc    11\nd    12\nName: col3...
b     2     6    10   16  a     9\nb    10\nc    11\nd    12\nName: col3...
c     3     7    11   18  a     9\nb    10\nc    11\nd    12\nName: col3...
d     4     8    12   20  a     9\nb    10\nc    11\nd    12\nName: col3...

幫助會很棒,謝謝!

嘗試一次

df['new2'] = df['col3'].astype(str)
df['new'] = df['col3'].apply(str)

您可以在熊貓中找到很多這樣的方法。

https://pandas.pydata.org/pandas-docs/stable/tutorials.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM