简体   繁体   English

如何根据条件复制 dataframe 行

[英]How to replicate dataframe rows based on condition

I have input dataframe df1 like this:我输入了 dataframe df1像这样:

url_asia_us_emea
https://asia/image
https://asia/location
https://asia/video

I want to replicate the rows in df1 with changes in region based on the column names.Lets say for this example, I need the below output as all three regions are in the column name我想复制df1中的行,并根据列名更改区域。让我们说对于这个例子,我需要下面的 output 因为所有三个区域都在列名中

url_asia_us_emea
https://asia/image
https://asia/location
https://asia/video
https://us/image
https://us/location
https://us/video
https://emea/image
https://emea/location
https://emea/video

You could do something like this:你可以这样做:

list_strings = [ 'us', 'ema', 'fr']
df_orig =pd.read_csv("ack.csv", sep=";")

which is这是

    url
0     https://asia/image
1  https://asia/location
2     https://asia/video

and then接着

d = []
for element in list_strings:
    df =pd.read_csv("ack.csv", sep=";")
    df['url'] = df['url'].replace({'asia': str(element)}, regex=True)
    d.append(df)
    
df = pd.concat(d)
DF = pd.concat([df,df_orig])

which results in这导致

index                    url
0             https://us/image
1         https://us/location
2             https://us/video
3            https://ema/image
4         https://ema/location
5            https://ema/video
6             https://fr/image
7          https://fr/location
8             https://fr/video
9            https://asia/image
10        https://asia/location
11           https://asia/video
​

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

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